sql查询 分组后 每组某字段值最大的一行所有列 200
1个回答
展开全部
按照员工ID分组,取出ID值最大的一行
1、第一个方法,需要考虑ID有重复值的问题,如果最大值存在重复值,那么结果也重复。
SELECT *
FROM 员工信息变化表 T1
WHERE id = (SELECT Max (id)
FROM 员工信息变化表 T2
WHERE T1.员工ID = T2.员工ID)
2、第二个方法:该语句是在SQL Server中编写的,应该不适用于MySQ和Oracle。排名函数是SQL Server2005中新增的功能,不适用SQL Server 2000
SELECT *
FROM (SELECT row_number () OVER (PARTITION BY 员工ID ORDER BY id DESC)
AS ROW_NUM,
*
FROM 员工信息变化表) T1
WHERE ROW_NUM = 1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询