SQL如何返回最新日期
Posted
技术标签:
【中文标题】SQL如何返回最新日期【英文标题】:SQL how to return the latest date 【发布时间】:2015-12-08 19:18:15 【问题描述】:在下面的代码中,我得到了 col0 的多行。
col0 不是唯一的,例如 - col0 可能有四行值为 5,两行值为 7,等等。
我只想为 col0 中的每个值返回一行。 假设 numToDate 是一个不言自明的 UDF(对 ISO),我想为 col0 中的每个值返回一行,其中 col3 是最近的日期。
SELECT col0, col1, numToDate(col2), numToDate(col3)
FROM myTable
where col1 = 'someValue';
【问题讨论】:
【参考方案1】:你可以使用row_number()
:
select col0, col1, numToDate(col2), numToDate(col3)
from (select t.*,
row_number() over (partition by col0 order by numToDate(col3) desc) as seqnum
from mytable t
) t
where seqnum = 1;
【讨论】:
谢谢。这样可行。这段代码对于时间戳是否同样有效? @TripWire 。 . .我不明白你的问题。您可以为order by
使用时间戳列。以上是关于SQL如何返回最新日期的主要内容,如果未能解决你的问题,请参考以下文章
SQL 难题,如何选择零件的最新日期,但每个零件只有 1 行(唯一)