/****** 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] ) */