续传查询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的顺序要与续传语句的筛选顺序保持一致,否则会导致漏数。

相关推荐
IMPYLH11 分钟前
Linux 的 env 命令
linux·运维·服务器·数据库
fobwebs17 分钟前
如何通过phpmyadmin指令来优化数据库表,给数据库“减肥”。
数据库·wordpress·数据库优化·phpmyadmin
syinfo17 分钟前
oracle使用PLSQL导出表数据
数据库·oracle
客梦20 分钟前
数据库基础
数据库·笔记
老苏畅谈运维22 分钟前
Oracle AI Database 26ai 安装实战
数据库·oracle·oracle 26ai
Rick199323 分钟前
SQL优化
数据库·sql
沪漂阿龙23 分钟前
掌握MySQL这些函数,SQL水平直接起飞!
数据库·sql·mysql
无忧智库24 分钟前
破局与重构:基于“智慧大脑”的企业全面数据化经营深度解构(PPT)
数据库·重构
大嘴皮猴儿32 分钟前
零基础入门:跨境电商产品图片多语言翻译的完整流程与跨马翻译实操
大数据·数据库·人工智能·自动翻译·教育电商
雷工笔记34 分钟前
Navicat 备份与还原 PostgreSQL 数据库
数据库·postgresql·oracle