sql - 从表中选择 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() 但它只给我最新的。
谢谢!
解决方案
在标准 SQL 中,您将使用:
select t.*
from t
order by saledata desc
offset 0 row fetch first 2 row only;
并非所有数据库都支持fetch first
. 它可能是拼写limit
或select top
其他,具体取决于您的数据库。
推荐阅读
- selenium - 如何在 for 循环中使用“find_elements_by_xpath”
- c# - 如何在移动过程中跟踪手指的位置?
- r - 如何修复“(函数...)参数中的错误意味着不同的行数
- c# - NetMQ 在循环中使用超时轮询代表套接字
- date - 如何在没有辅助列的情况下在公式中定义自定义季度?
- php - 在 registerController 验证中访问 Request 参数
- algorithm - 如何找到具有 1、0、-1 权重的精确 0 成本的多维路径
- pycharm - Pycharm Todo 关键字不在 venv 中的模块中“注册”
- google-sheets - 如果单元格的内容存在于单独的单元格范围中,如何有条件地格式化单元格(在 Google 表格中)?
- java - 在路径上设置后,Ubuntu 获取模块 java.se.ee