如何在T-SQL中构造此查询

时间:2009-12-22 18:33:18

标签: sql tsql

我有一张桌子:

Date        ColumnA    ColumnB
2009-12-29    "abc"     "abc"
2009-12-29    "abc"     "abc"
2009-12-29    "abc"     "abc"
2009-12-28    "abc"     "abc"
2009-12-28    "abc"     "abc"
2009-12-28    "abc"     "abc"
,,,
,,,

我想在Microsoft SQL中编写一个查询,该查询返回表中最新可用日期的所有行。所以在上面的例子中,它返回日期为12-12-29的所有行。

2 个答案:

答案 0 :(得分:9)

SELECT Date, ColumnA, ColumnB
FROM TableName 
WHERE Date = 
  (SELECT max(Date) FROM TableName)

答案 1 :(得分:2)

SELECT  TOP 1 WITH TIES *
FROM    mytable
ORDER BY
        date DESC

这甚至适用于复合最大值(例如,(date, othercolumn),无法使用普通MAX检索

您可能希望在我的博客中阅读以下几种方法来阅读这些文章: