SQL语句分组获取记录的第一条数据的方法
2012-07-27 00:00
841 查看
使用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
执行结果图:
首先查询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语句分组获取记录的第一条数据的方法
- SQL语句分组获取记录的第一条数据的方法
- SQL语句分组获取记录的第一条数据
- MySQL取第一条数据方法:SQL语句分组的方法,使用Northwind 数据库为例子。
- SQL分组获取记录的第一条数据——PARTITION BY
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- [MS SQL]SQL语句查询每个分组的前N条记录的实现方法
- 怎样写获取时间最大的数据记录的sql语句
- SQL语句查询每个分组的前N条记录的实现方法
- “取出数据表中第10条到第20条记录”的sql语句+select top 使用方法
- SQL获取分组第一条记录
- 数据库存储过程中定义一个变量,通过sql语句在数据表中获取这个变量值的方法。
- SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)
- 使用sql语句获取一对多中的第一条记录。
- 取每组数据的第一条记录和最后一条记录的SQL语句
- sql分组获取第一条记录(sql+oracle)
- 取每组数据的第一条记录的SQL语句
- 取每组数据的第一条记录的SQL语句
- Linq排序、分组、模糊查询、调用外部方法、直接执行SQL语句、事务、修改数据
- 如何通过SQL语句获取分组中的某几条记录