Redshift-选择最大日期和第二个最大日期

时间:2018-07-23 23:38:09

标签: sql amazon-redshift

我在数据库中有一个uploaddate列,我只想提取具有最近日期的所有记录(将是具有相同uploaddate的1000条记录)。

类似地,我也想进行完全相同的选择,但是要使用最近的uploaddate而不是最新的最大日期。

例如:

row1 data1 2018-07-23 09:35:00
row2 data2 2018-07-23 09:35:00
row3 data3 2018-07-23 09:20:00
row4 data4 2018-07-23 09:20:00
row5 data5 2018-07-23 09:10:00
row6 data6 2018-07-23 09:01:00

第一个查询将选择

row1 data1 2018-07-23 09:35:00
row2 data2 2018-07-23 09:35:00

,第二个查询将选择

row3 data3 2018-07-23 09:20:00
row4 data4 2018-07-23 09:20:00

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用dense_rank()

select t.*
from (select t.*, dense_rank() over (order by uploaddate desc) as seqnum
      from schema1.table1 t
     ) t
where seqnum = 1;  -- or 2 for the second maximum