程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL語句分組獲取記錄的第一條數據的方法

SQL語句分組獲取記錄的第一條數據的方法

編輯:更多數據庫知識

使用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

執行結果圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved