SQL获取正数第N个或倒数第N个数据

这里我们使用Order ByLimit的组合:

  • Order By:可以将某个序列值按照从大到小或从小到大排序
  • Limit:如果类似Limit 5表示前5个,Limit 3,5表示从第4个位置(以0为开始)开始往后取5个

通过这样的组合就可以实现任意次序的数据获取

示例程序

选择表my_table的字段dt(假如是日期):

如果要选择倒着数的全部日期:

sql 复制代码
SELECT `dt` FROM `my_table`
ORDER BY `dt` DESC

如果要选择正着数的第2个:

sql 复制代码
SELECT `dt` FROM `my_table`
ORDER BY `dt` ASC
LIMIT 1,1

如果要选择倒着数的第二个:

sql 复制代码
SELECT `dt` FROM `my_table`
ORDER BY `dt` DESC
LIMIT 1,1

任意正数/倒数第N个

比如任意倒数第N个

sql 复制代码
SELECT `dt` FROM `my_table`
ORDER BY `dt` DESC
LIMIT n-1,1
相关推荐
断春风4 分钟前
如何避免 MySQL 死锁?——从原理到实战的系统性解决方案
数据库·mysql
闲人编程5 分钟前
基础设施即代码(IaC)工具比较:Pulumi vs Terraform
java·数据库·terraform·iac·codecapsule·pulumi
QQ_216962909611 分钟前
Spring Boot大学生社团管理平台 【部署教程+可完整运行源码+数据库】
java·数据库·spring boot·微信小程序
玉成22617 分钟前
MySQL两表之间数据迁移由于字段排序规则设置的不一样导致失败
数据库·mysql
dblens 数据库管理和开发工具26 分钟前
DBLens:让 SQL 查询更智能、更高效的数据库利器
服务器·数据库·sql·数据库连接工具·dblens
TDengine (老段)37 分钟前
TDengine 在新能源领域的最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
是席木木啊40 分钟前
Spring Boot 中 @Async 与 @Transactional 结合使用全解析:避坑指南
数据库·spring boot·oracle
__风__40 分钟前
PostgreSQL 创建扩展后台流程
数据库·postgresql
StarRocks_labs40 分钟前
Fresha 的实时分析进化:从 Postgres 和 Snowflake 走向 StarRocks
数据库·starrocks·postgres·snowflake·fresha
CodeAmaz1 小时前
Spring编程式事务详解
java·数据库·spring