SQL Server SQL语句分组获取记录的第一条数据的方法

2022-11-12 09:48:35
内容摘要
这篇文章主要为大家详细介绍了SQL Server SQL语句分组获取记录的第一条数据的方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 使用No
文章正文

这篇文章主要为大家详细介绍了SQL Server SQL语句分组获取记录的第一条数据的方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

使用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 Server SQL语句分组获取记录的第一条数据的方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!