如何在SQL中选择一行中的奇数或偶数项?

11

我只需要偶数或奇数项,所以我使用了模运算,但这并没有起作用。

SELECT  * FROM table ORDER BY id WHERE MOD (num, 2) = 1 ASC;
请帮助我,我在SQL方面很菜,因为我还没有做过太多相关的工作。
4个回答

21
SELECT * 
FROM table 
WHERE MOD (num, 2) = 1 
ORDER BY id ASC;

将返回num中所有奇数值。


1
如果您有重复的值,应该添加DISTINCT选项。 - Mchoeti

5

为了偶数

 where ([num]% 2) = 0

对于奇数

 where ([num]% 2) <>0

4

如果是偶数,请查询:

SELECT 
  * 
FROM 
  table_name 
WHERE 
  MOD(NUM, 2) = 0 
ORDER BY 
  ID ASC;

对于奇数,查询:

SELECT 
  * 
FROM 
  table_name 
WHERE 
  MOD(NUM, 2) != 0 
ORDER BY 
  ID ASC;

3
SELECT * FROM table WHERE MOD(num, 2) = 1 ORDER BY id ASC;

只有在根据 WHERE 子句获取 SQL Server 的最终结果集后,才能应用任何 ASCDESC 排序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接