如何在无唯一ID的MySQL表中从中间位置检索指定列
解决方案
表结构与数据
| Colum A | Colum B | Colum C |
|---|---|---|
| 12364 | CC | 4785457 |
| 88364 | AR | 6874688 |
| 12774 | BB | 6847854 |
| 19864 | VV | 4768558 |
| 17482 | MM | 5835738 |
| 27549 | TT | 5764866 |
实现查询的SQL语句
利用MySQL的OFFSET子句跳过指定行数,结合SELECT指定目标列即可实现需求:
SELECT `Colum B`, `Colum C` FROM your_table_name OFFSET 2;
如果需要兼容低版本MySQL,可补充LIMIT指定最大返回行数(用MySQL支持的最大值确保返回所有剩余行):
SELECT `Colum B`, `Colum C` FROM your_table_name LIMIT 18446744073709551615 OFFSET 2;
关键说明
OFFSET 2表示跳过前2行,直接从第3行开始返回数据- 由于表无唯一ID,这种依赖结果集顺序的查询存在局限性:若表中数据发生插入、删除或排序变更,查询的起始位置可能偏移,建议优先为表添加自增ID等唯一标识列,保证查询稳定性
内容的提问来源于stack exchange,提问作者Rena
相关产品推荐
相关产品推荐

