我有一个带有日期列和字符串列的表。我正在尝试将字符串列筛选到最近的3条记录。
+----------+--------------+
| date | string |
+----------+--------------+
|2000-11-14| AAA|
|2009-11-07| AAA|
|2020-11-20| AAA|
|2019-11-07| AAA|
|2018-11-07| AAA|
|2020-11-22| BBB|
|2019-11-20| BBB|
|2018-11-20| BBB|
|2014-11-21| BBB|
|2016-11-22| CCC|
|2017-11-08| CCC|
|2018-11-07| CCC|
|2019-11-22| CCC|
|2020-11-09| CCC|
|2020-11-11| DDD|
+----------+--------------+
最后一张表如下所示:
+----------+--------------+
| date | string |
+----------+--------------+
|2020-11-20| AAA|
|2019-11-07| AAA|
|2018-11-07| AAA|
|2020-11-22| BBB|
|2019-11-20| BBB|
|2018-11-20| BBB|
|2020-11-09| CCC|
|2019-11-22| CCC|
|2018-11-07| CCC|
|2020-11-11| DDD|
+----------+--------------+
我想我用不了 MAX(date)
在这里按组,因为我试图获得前三名最近的记录(不是前1名)。
1条答案
按热度按时间ma8fv8wu1#
这个
ROW_NUMBER
解析函数特别适合于这类问题: