我怎样才能选择其他所有行?

时间:2013-09-10 16:20:03

标签: php mysql mysqli

我想知道我怎样才能从表中获得每一行。

我试过了:

SELECT * FROM table_name ORDER BY id DESC LIMIT 1, 1

但当然我只得到第2排而不是2,4,6,......

有解决办法吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

有一个可以使用的用户变量的偷偷摸摸的技巧:

SELECT * FROM table_name, (SELECT @c := 0) t 
WHERE (@c := @c + 1) % 2 = 0
ORDER BY id DESC;

这是有效的,因为@c是为每一行计算的(WHERE子句中),我们只选择甚至记录(2,4,6,...)。 ..)通过mod %运算符。

如果您想要奇数记录(1,3,5,...),请将...% 2 = 0更改为...% 2 = 1

答案 1 :(得分:0)

更简单的版本

SELECT * FROM table_name WHERE MOD(id,2) = 0 ORDER BY id DESC

SQLFiddle

对于奇数

,将0更改为1