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

时间:2016-08-01 17:50:58

标签: sql sql-server ssms

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

这是我的表

 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"

但是这给了我每个键的最新日期。

2 个答案:

答案 0 :(得分:2)

最简单的方法可能是

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

答案 1 :(得分:1)

尝试此查询...首先获取最大日期,然后找到与该日期对应的行

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"