我在以下结构中有一个名为 nums 的 mySql 表,其中填充了数字数据。
id, n1, n2, n3, n4, n5, n6
01, 34, 11, 07, 32, 19, 08
02, 17, 03, 45, 02, 06, 15
.., .., .., .., .., .., ..
我的目标是能够选择一行中有多少个奇数和多少个偶数。
我已经实现了下面的奇数选择语句,但我不确定如何为偶数做同样的事情,任何建议将不胜感激。谢谢
例子:选择有多少行有3个奇数
SET @NumbersOfOddColumnsWanted = 3;
SELECT
n1, n2, n3, n4, n5, n6
FROM
nums
WHERE
n1 % 2 + n2 % 2 + n3 % 2 + n4 % 2 + n5 % 2 + n6 % 2 = @NumbersOfOddColumnsWanted
最佳答案
MySQL 有一个很好的特性,即“ bool ”值被视为 0 或 1。因此,您可以将它们相加。
SELECT ((n1%2 = 0) + (n2%2 = 0) + (n3%2 = 0) + (n4%2 = 0) + (n5%2 = 0) + (n6%2 = 0)
) as NumEvens,
((n1%2 = 1) + (n2%2 = 1) + (n3%2 = 1) + (n4%2 = 1) + (n5%2 = 1) + (n6%2 = 1)
) as NumOdds
FROM nums;
这假设没有任何值是 NULL
。
关于mysql - 如何从表中选择偶数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840719/