我正在尝试运行一个查询,该查询将提取过去几个月中运行过的用户列表,但仅显示他们上次尝试启动的用户。因此,如果他们推出应用程序15次我只想看到最新的。目前我所拥有的代码正在列出所有我需要帮助的清单,以便如何清除我不需要的那些。
SELECT [AccountName]
,[ApplicationName]
,[LaunchTime]
FROM OurTable
WHERE ApplicationName = 'Office13'
AND LaunchTime > DATEADD(MONTH,-9,GETDATE())
GROUP BY LaunchTime, AccountName, ApplicationName
答案 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