我有一个包含4列的表,其中一列是datetime。我想获得只有具有最新日期时间的行的输出。我怎样才能做到这一点?
答案 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