列出仅包含tsql中最新日期时间的行

时间:2018-04-03 09:46:07

标签: sql sql-server tsql

我有一个包含4列的表,其中一列是datetime。我想获得只有具有最新日期时间的行的输出。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:0)

如果您想在整个表格中只获得1条记录而不进行任何分组,那么您可以尝试以下方式。

SELECT TOP 1 * FROM [Your_Table]
ORDER BY DATE_COLUMN DESC

如果您想为每个组选择1条记录,您可以尝试以下方式。

SELECT * FROM
(
  SELECT *, ROW_NUMBER() OVER(PARTITION BY [Group_By_Column_Name] 
                         ORDER BY DATE_COLUMN DESC) AS RN
)T
 WHERE RN =1

答案 1 :(得分:0)

SELECT COL1,COL2,COL3,COL4(DateTime COL) FROM Table
WHERE COL4 = (SELECT MAX(COL4) FROM TABLE)

MAX IN不同组

 WITH CTE AS 
 (
   SELECT COL1,COL2,COL3,COL4(DateTime COL), 
             DENSE_RANK() OVER(PARTITION BY COl_name_For_GROUP 
                             ORDER BY COL4(DateTime COL) DESC) AS RANK 
   FROM Table_name
 )
SELECT COL1,COL2,COL3,COL4(DateTime COL) FROM CTE
    WHERE RANK =1

答案 2 :(得分:0)

如果您希望行具有最大日期值。使用 <app-select2> 功能顺序按日期降序排列等级。

<强>查询

DENSE_RANK