java - 检测编号表上的缺失记录
问题描述
我有一个存储消息的数据库。有一个“计数”列,因此第一条消息的计数为 1,第二条消息的计数为 2,依此类推。
现在我正在寻找一种方法来检测是否缺少消息,例如:“从消息中选择计数”返回 1,2,4 而不是 1,2,3,4。
我在后端使用休眠。因此,也欢迎使用 Java 解决方案。
谢谢。
解决方案
尝试比较“计数”列中的行数和最大值
SELECT ( count(*) != max(count) ) AS MISSING_MESSAGE FROM message
如果“count”列以大于 0 的数字开头,而不是 max,则使用 max 和 min + 1 之间的范围
SELECT ( count(*) != (max(count) - min(count) + 1) ) AS MISSING_MESSAGE FROM message
推荐阅读
- postgresql - postgres视图pg_setting中max_wal_size的单位是什么
- python - SQLAlchemy 近似计数而不进行查询
- python - tkinter:查找小部件的可选参数
- python - plotnine中离散x轴的倒序
- c# - 如何使用 Xamarin Android 中的意图从画布板移动到另一个屏幕
- python - 有没有比 ffmpeg 更适合在 Python 中合并视频和音频文件的方法?
- excel - VBA - 在调试中工作,但有时会出现运行时错误
- kubernetes - 对保管库机密的访问被拒绝
- oracle - Oracle,在存储过程调用之前执行 pl/sql 代码
- javascript - Tempusdominus bootstrap4 使用一个实例进行多个输入