使用 SSMS 仅显示最近日期的输出

Show only output from recent date using SSMS

我正在尝试创建一个查询,其中我只显示最近日期的键。

这是我的table

 vkey         Date
V-12345     1966-06-14
555658      1986-03-31
V-5666      2011-11-11
V-8533      2011-11-11 
V-1111111   2012-02-02 
5555501     2012-09-09 
V-8236      2013-06-25
V-8533      2015-05-05
V-122154    2016-07-26
V-8562      2015-09-05
V-8533      2016-07-26

我应该得到

vkey        Date
V-8533      2016-07-26
V-122154    2016-07-26

我试过了

 SELECT vkey, MAX("date") as "date" 
 FROM [Testing].[dbo].[VKeySTIG_ BreakDown] 
 GROUP BY "VKEY"

但这给了我每个密钥的最新日期。

试试这个查询...它的工作原理是首先获取最大日期,然后找到与该日期对应的行

select * from FROM [Testing].[dbo].[VKeySTIG_ BreakDown] A INNER JOIN
(
 SELECT  MAX("date") as "Maxdate" 
 FROM [Testing].[dbo].[VKeySTIG_ BreakDown] 
) B ON A."date" = B."Maxdate"

最简单的方法可能是

 SELECT TOP (1) WITH TIES vKey, 
                          [Date]
 FROM [Testing].[dbo].[VKeySTIG_ BreakDown] 
 ORDER BY [Date] DESC