续传查询SQL不规范导致漏数的问题

查询交易记录的时候,,用户需要一页一页往下翻,每点击一次就会将续传接口包发到后端接口进行查询返回下一页的数据,续传接口有几个字段,是续传键值,后端的SQL会根据上次读取到的最后一条往后捞数据

有些同事写的SQL不规范,导致续传漏数,具体如下:

sql 复制代码
-- Oracle 索引是A_B_C
select *
from 交易表
where A > a 
or (A = a and B > b)
or (A = a and B = b and C > c)
and ROWNUM <= 1000
Order by B, A, C 

因为三个字段在order by中的顺序与续传语句中筛选不一致,导致在查数时数据会错乱、漏数

还有的场景就是,续传语句中筛选的顺序是A,B,C,但是在order by的时候掺杂了其他字段D进去,也会导致漏数出现

结论:order by的顺序要与续传语句的筛选顺序保持一致,否则会导致漏数。

相关推荐
不辉放弃1 小时前
SQL 主键(Primary Key)
数据库·sql·oracle
qq_339282231 小时前
PostgreSQL-常用命令
数据库·postgresql·oracle
沸材2 小时前
Redis——实现消息队列
数据库·redis·消息队列
しかし1181142 小时前
C语言队列的实现
c语言·开发语言·数据结构·数据库·经验分享·链表
⁤⁢初遇2 小时前
MySQL---数据库基础
数据库
wolf犭良2 小时前
27、Python 数据库操作入门(SQLite)从基础到实战精讲
数据库·python·sqlite
画扇落汗2 小时前
Python 几种将数据插入到数据库的方法(单行插入、批量插入,SQL Server、MySQL,insert into)
数据库·python·sql·mysql
银河系的一束光3 小时前
mysql的下载和安装2025.4.8
数据库·mysql
Full Stack Developme3 小时前
SQL 查询中使用 IN 导致性能问题的解决方法
数据库·sql
神经星星4 小时前
【vLLM 学习】API 客户端
数据库·人工智能·机器学习