SQL語句分組獲取記錄的第一條資料的方法

2021-06-21 11:50:17 字數 912 閱讀 1791

使用northwind 資料庫

首先查詢employees表

查詢結果:

city列裡面只有5個城市

使用row_number() over(partition by col1 order by col2) 先進行分組 注:根據col1分組,在分組內部根據 col2排序,而此函式計算的值就表示每組內部排序後的順序編號(組內連續的唯一的).

sql語句為:

select employeeid,lastname,firstname,title,titleofcourtesy,city,row_number() over(partition by city order by employeeid) as new_index  

from employees

執行結果圖:

可以看到是按照city分組,employeeid排序。

select出分組中的第一條記錄

執行語句:

select * from 

(select employeeid,lastname,firstname,title,titleofcourtesy,city,row_number() over(partition by city order by employeeid) as new_index  

from employees) a where a.new_index=1

執行結果圖:

SQL語句分組獲取記錄的第一條資料

使用northwind 資料庫 首先查詢employees表 查詢結果 city列裡面只有5個城市 使用row number over partition by col1 order by col2 先進行分組 注 根據col1分組,在分組內部根據 col2排序,而此函式計算的值就表示每組內部排序後...

分組查詢各組第一條記錄

我們在查詢資料的時候經常會遇到表中包含類似 型別 分組 等屬性字段。然後需要查詢出該分組下的第一條記錄。實現的sql如下 select name,link,type from select row number over partition by type order by name as row,...

Hive分組取第一條記錄

交易系統,財務要求維護每個使用者首個交易完成的訂單資料 首單表,可取每個使用者交易完成時間最老的訂單資料 舉例 簡寫版的表結構 表資料 則 財務希望彙總記錄如下 uidorder id service completion time244 2017 02 03 12 23 01.0333 2017 ...