欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-29 09:20:52
使用northwind 数据库 首先查询employees表 查询结果: city列里面只有5个城市 使用row_number() over(partition...

使用northwind 数据库

首先查询employees表

查询结果:

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

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

执行结果图:

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

可以看到是按照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语句分组获取记录的第一条数据的方法