我想从我的MySQL数据库中的表中选择所有偶数帖子id,然后显示它们。我还希望获得所有带有奇数ID的帖子并将其显示在其他地方。
我想用PHP来做这件事,因为那是我正在使用的服务器端语言。
或者,我是否必须选择所有帖子,然后使用JavaScript检查它们是否是偶数/奇数?我更喜欢PHP,但如果它适用于JavaScript也可以。
我想要的例子:
表:
==================================================
id | text
==================================================
==================================================
| 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
==================================================
| 2 | turpis quis aliquet commodo, urna quam viverra justo, in |
==================================================
| 3 | Etiam in lectus sem. Nullam molestie nisl vel nunc consectetur |
==================================================
| 4 | Vestibulum eu molestie sapien. Ut luctus nulla vel libero sagittis |
==================================================
我在stackoverflow中的表失败了^^
我想首先显示偶数,然后显示奇数:
Even Rows:
turpis quis aliquet commodo,urna quam viverra justo,in
Vestibulum eu molestie sapien。 Ut luctus nulla vel libero sagittis
奇数行:
Lorem ipsum dolor sit amet,consectetur adipiscing elit
Etiam in lectus sem。 Nullam molestie nisl vel nunc consectetur
答案 0 :(得分:47)
要从MySQL表中选择偶数或奇数ID,您可以使用modulo运算符(就像在PHP中一样):
SELECT * FROM table WHERE (id % 2) = 0; # even
SELECT * FROM table WHERE (id % 2) > 0; # odd
答案 1 :(得分:5)
为了从MySQL表中选择偶数或奇数ID,你可以使用'MOD',这种方法可以选择奇数和偶数。
选择奇数
select column_name from table_name where mod(column_name,2)=1;
选择偶数
select column_name from table_name where mod(column_name,2)=0;
如果您需要奇数,请输入1。
如果您需要偶数,请输入0。
答案 2 :(得分:0)
SELECT * FROM table_name WHERE (id%2)=0;
此查询返回ID为偶数的结果。
答案 3 :(得分:0)
SELECT * FROM table_name WHERE id&1 = 0
例如5%2
花费了更多的时间进行计算,按位运算符比算术更快
// for displaying even first then odd
id | text
---------
1 | odd-1
---------
2 | even-1
---------
3 | odd-2
--------
4 | even-2
----------
5 | odd-3
----------
SELECT * FROM table_name WHERE order by id&1 asc;
结果
id text
--------
2 even-1
-----------
4 even-2
----------
1 odd-1
----------
3 odd-2
----------
5 odd-3