AI编程生活评测

在sql中要求id每隔m取1条数据一共取n条数据

编程笔记 / 2023-10-08 / 1 min
在sql中,要求id每隔m取1条数据,一共取出n条数据,这个sql可以这么写:
SELECT id FROM user WHERE id % m = 1 LIMIT n;
将语句中的m和n替换成需要的值,比如我想要每隔3条取一条数据,一共取10条;
SELECT id FROM user WHERE id % 3 = 1 LIMIT 10;
输出
+----+
| id |
+----+
|  1 |
|  4 |
|  7 |
| 10 |
| 13 |
| 16 |
| 19 |
| 22 |
| 25 |
| 28 |
+----+
10 rows in set (0.34 sec)
如果想起始值不是从1开始,比如我想要从2开始,调整为
SELECT id FROM user WHERE id % 3 = 2 LIMIT 10;
输出
+----+
| id |
+----+
|  2 |
|  5 |
|  8 |
| 11 |
| 14 |
| 17 |
| 20 |
| 23 |
| 26 |
| 29 |
+----+
10 rows in set (0.00 sec)
实际就是使用取模计算来确定取值范围,当然还可以在 WHERE 语句中加入更多的条件来满足需要。
点击刷新