Mysql-query - 查找ID可被4整除的所有行

时间:2017-03-20 12:12:07

标签: mysql

是否可以创建一个返回ID(自动增量整数)可被4整除的行的查询?

从mydatabase中选择*,其中id为4,由id asc。

除以

例如我想得到id为4,8,12的行等等。

编辑:

作为完整性的附加信息,如果我需要第1,5,9行等,该怎么办?

3 个答案:

答案 0 :(得分:12)

这里%do如果你的id除以4并且它没有提醒意味着等于0那么它会给你一个结果。

SELECT * FROM table WHERE (id % 4) = 0;

如果您需要1,5,9,那么您需要id-1%4 这意味着你需要4 + 1 = 5,8 + 1 = 9所以你需要做((id-1)%4 记得不要忘记这样放(id-1)。因为没有它,它将遵循数学规则并先做1%4

SELECT * FROM user_rules where ((id-1) % 4)=0 limit 0,4

答案 1 :(得分:2)

您也可以使用按位运算符&,因为4是2的幂。

您可以将% 4替换为& (4 - 1),使& 3

在查询中使用。

<强>查询

SELECT
 *
FROM 
 [table] 
WHERE
 (id & 3) = 0

答案 2 :(得分:1)

这似乎已经太容易了......

SELECT * 
FROM table
WHERE id % 4 = 0