首页 > 代码库 > 获取记录集中不同组的特定记录

获取记录集中不同组的特定记录

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