SQL查询 - 仅显示最新记录

时间:2018-01-17 21:31:02

标签: sql sql-server

我正在尝试运行一个查询,该查询将提取过去几个月中运行过的用户列表,但仅显示他们上次尝试启动的用户。因此,如果他们推出应用程序15次我只想看到最新的。目前我所拥有的代码正在列出所有我需要帮助的清单,以便如何清除我不需要的那些。

SELECT [AccountName]
  ,[ApplicationName]
  ,[LaunchTime]
   FROM OurTable
   WHERE ApplicationName = 'Office13' 
   AND LaunchTime > DATEADD(MONTH,-9,GETDATE())
   GROUP BY LaunchTime, AccountName, ApplicationName

1 个答案:

答案 0 :(得分:0)

在SQL Server中,也许你可以试试这个:

SELECT  [AccountName]
  ,[ApplicationName]
  ,[LaunchTime]

   FROM OurTable ot1
   WHERE ApplicationName = 'Office13' 
   AND LaunchTime > DATEADD(MONTH,-9,GETDATE())   
   AND LaunchTime = (SELECT MAX(LaunchTime) FROM @OurTable ot2 WHERE ot2.AccountName = ot1.AccountName)
   GROUP BY AccountName, ApplicationName, LaunchTime