如何查询从指定ID到最后一条插入记录的数据?SQL求助
解决从指定ID到最后一条记录的SQL查询需求
我来帮你调整SQL语句,精准实现从指定ID到最后一条插入记录的查询需求,分几种场景给你说明:
通用写法(适配大多数数据库)
如果需要严格匹配“从ID=33到最后一条插入记录”的范围,可以用子查询获取表中最大的ID(也就是最后插入的那条记录的ID),再做范围筛选:
SELECT id, B5, B6, datetime FROM child_records WHERE id >= 33 AND id <= (SELECT MAX(id) FROM child_records) ORDER BY id ASC;
- 这里
SELECT MAX(id) FROM child_records会自动拿到当前表中最新插入记录的ID(假设ID是自增主键,按插入顺序递增) - 最后用
ORDER BY id ASC确保结果按插入顺序展示,如果你习惯看倒序可以改成DESC
简化写法(适用于ID连续无删除的场景)
如果你的id是自增主键,并且从来没有删除过中间的记录,那可以直接简化成下面的语句,效果和上面完全一致:
SELECT id, B5, B6, datetime FROM child_records WHERE id >= 33 ORDER BY id ASC;
因为自增ID的最大值肯定大于等于33,所以WHERE id >=33就会包含从33到最后一条的所有记录。
补充说明
对比你原来的语句SELECT id, B5, B6, datetime FROM child_records ORDER BY id DESC LIMIT 10,它是取最新的10条记录并倒序展示,和你现在的需求(指定ID起点到最后)逻辑不同,上面的两种写法可以精准满足你的需求。
内容的提问来源于stack exchange,提问作者user123
相关产品推荐
相关产品推荐

