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

执行结果图:

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐