/****** Script for SelectTopNRows command from SSMS ******/
/**求序列号([Serial])相同,编号([Num]主键)最大者的记录**/
SELECT [Num] --主键
,[Serial]
,[Depart]
,[Time] --非主键(不同序列号的时间可能相同)
FROM [Temp].[dbo].[A]
WHERE [Num] IN (SELECT MAX([Num])
FROM [Temp].[dbo].[A]
GROUP BY [Serial]
)
/**求序列号([Serial])相同,时间([Time]非主键)最大者的记录**/
SELECT a.[Num] --主键
,a.[Serial]
,a.[Depart]
,a.[Time] --非主键(不同序列号的时间可能相同)
FROM [Temp].[dbo].[A] a,[Temp].[dbo].[A] b
WHERE a.[Serial] = b.[Serial]
GROUP BY a.[Num],a.[Serial],a.[Depart],a.[Time],b.[Serial]
HAVING a.[Time] = MAX(b.[Time])
/**求序列号([Serial])相同,编号([Num]主键)最大者的记录**/
SELECT a.[Num] --主键
,a.[Serial]
,a.[Depart]
,a.[Time] --非主键(不同序列号的时间可能相同)
FROM [Temp].[dbo].[A] a,[Temp].[dbo].[A] b
WHERE a.[Serial] = b.[Serial]
GROUP BY a.[Num],a.[Serial],a.[Depart],a.[Time],b.[Serial]
HAVING a.[Num] = MAX(b.[Num])
/**用下面代码 求序列号([Serial])相同,时间([Time]非主键)最大者的唯一记录错误 **/
/*
SELECT [Num] --主键
,[Serial]
,[Depart]
,[Time] --非主键(不同序列号的时间可能相同)
FROM [Temp].[dbo].[A]
WHERE [Num] IN (SELECT MAX([Time])
FROM [Temp].[dbo].[A]
GROUP BY [Serial]
)
*/
转载于:https://www.cnblogs.com/shenchao/p/3927382.html