首页 > 解决方案 > 从表中选择 2 个最近的日期 - SQL

问题描述

我有一张如下表

身份证号 销售数据 销售量
1 2020-09-07 47,000
2 2020-03-25 51,470
3 2021-06-12 32,000
4 2018-10-12 37,560

我只想选择具有 2 个最近日期的行。所以我想要的输出如下

身份证号 销售数据 销售量
1 2020-09-07 47,000
3 2021-06-12 32,000

有人可以指导我在 SQL 中从哪里开始吗?我尝试使用 MAX() 但它只给我最新的。

谢谢!

标签: sqloracle-sqldeveloper

解决方案


在标准 SQL 中,您将使用:

select t.*
from t
order by saledata desc
offset 0 row fetch first 2 row only;

并非所有数据库都支持fetch first. 它可能是拼写limitselect top其他,具体取决于您的数据库。


推荐阅读