【发布时间】:2020-06-09 10:36:42
【问题描述】:
我的数据库中有这样的数据
---------------------------------------------------------------
shopid | shopname | keyword | date | filename
---------------------------------------------------------------
1 | shop1 | A_key |2020-04-24| A
---------------------------------------------------------------
1 | shop1 | A_key |2020-04-24| B
---------------------------------------------------------------
1 | shop1 | B_key |2020-04-25| B
---------------------------------------------------------------
1 | shop1 | B_key |2020-04-25| C
---------------------------------------------------------------
2 | shop2 | C_key |2020-04-24| A
---------------------------------------------------------------
2 | shop2 | C_key |2020-04-24| B
---------------------------------------------------------------
3 | shop3 | D_key |2020-04-24| A
---------------------------------------------------------------
3 | shop3 | D_key |2020-04-24| B
---------------------------------------------------------------
3 | shop3 | E_key |2020-04-24| A
---------------------------------------------------------------
3 | shop3 | E_key |2020-04-25| B
---------------------------------------------------------------
我想要的结果是来自最新文件名的最新数据
---------------------------------------------------------------
shopid | shopname | keyword | date | filename
---------------------------------------------------------------
1 | shop1 | A_key |2020-04-24| B
---------------------------------------------------------------
1 | shop1 | B_key |2020-04-25| C
---------------------------------------------------------------
2 | shop2 | C_key |2020-04-24| B
---------------------------------------------------------------
3 | shop3 | D_key |2020-04-24| B
---------------------------------------------------------------
3 | shop3 | E_key |2020-04-24| A
---------------------------------------------------------------
3 | shop3 | E_key |2020-04-25| B
---------------------------------------------------------------
我想知道如何用 sql 做到这一点 我的 sql 是
select *,rank() over (partition by date,keyword order by filename desc) rank
from table
order by date asc;
【问题讨论】:
-
我不明白为什么shopid = 3会返回三行。
标签: sql database amazon-redshift