在MySQL中仅选择偶数/奇数行[重复]

Posted

技术标签:

【中文标题】在MySQL中仅选择偶数/奇数行[重复]【英文标题】:Select only even/odd rows in MySQL [duplicate] 【发布时间】:2014-09-23 11:28:41 【问题描述】:

我试图在不使用 ID 字段的情况下从 mysql 的表中选择所有偶数行或奇数行。 我试过这个,但我想它不起作用,因为它基于 SQL Server: how to show only even or odd rows in sql server 2008?

提前谢谢大家。

【问题讨论】:

MySQL 中不存在“偶数”或“奇数”行。表代表无序集。您需要一列来指定行的顺序。 如果你有 id 的顺序,你可以检索 where id % 2==0 [***.com/questions/15578727/… 【参考方案1】:

假设你有一列指定表格的顺序,那么你可以使用变量来做你想做的事:

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;

【讨论】:

它有效,谢谢!如果我要求你解释,我问的太多了吗?我不明白“@rn”和“VARS”的含义。 vars 是表别名,@rn 是 MySQL 中的变量。您可以在此处阅读有关变量的信息:dev.mysql.com/doc/refman/5.7/en/user-variables.html 我有一个问题:您使用的是PL/SQL?【参考方案2】:

尝试使用这个:-

SELECT cols
FROM (
      SELECT cols, @rowNumber := @rowNumber+ 1 rn
      FROM YourTable
      JOIN (SELECT @rowNumber:= 0) r
     ) t 
WHERE rn % 2 = 1;

【讨论】:

以上是关于在MySQL中仅选择偶数/奇数行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

选择器tr获取奇数偶数行

用JS文件如何设置奇数表格行背景和偶数表格行背景

如何选中多个相同标签的奇数行或者偶数行

Python Pandas 选取Dataframe的偶数行或奇数行

谁能告诉我excel表格中如何将数字按奇数和偶数依次排列

如何判断一个整数是奇数还是偶数?