我试图在不使用ID字段的情况下从MySQL中的表中选择所有偶数行或奇数行。 我试过这个,但我认为它不起作用,因为它基于SQL Server: how to show only even or odd rows in sql server 2008?
提前谢谢大家。
答案 0 :(得分:7)
假设您有一个指定表的顺序的列,那么您可以使用变量来执行您想要的操作:
select t.*
from (select t.*, (@rn := @rn + 1) as seqnum
from table t cross join
(select @rn := 0) vars
order by col
) t
where mod(seqnum, 2) = 0;
答案 1 :(得分:4)
尝试使用它: -
SELECT cols
FROM (
SELECT cols, @rowNumber := @rowNumber+ 1 rn
FROM YourTable
JOIN (SELECT @rowNumber:= 0) r
) t
WHERE rn % 2 = 1;