SELECT sum(number1), sum(number2),
CASE
WHEN SUM(number1) % 2 = 1 THEN MIN(number1)
ELSE MAX(number1)
END AS number1,
CASE
WHEN SUM(number2) % 2 = 1 THEN MIN(number2)
ELSE MAX(number2)
END AS number2
FROM numbers
上面的代码返回了正确的数字,但是显示了一个额外的列。
有什么想法吗?
输出是这样的:
sum | number1 | number2 |
123 | 1 | 2 |
我的目标是如果 number1 的 SUM 是奇数,那么我将在 number1 中显示 MIN 数字 ELSE MAX 数字 1,与 number2 相同。但我只需要显示 2 列(number1 和 number2)
我想知道为什么显示 sum 列以及如何删除它。
感谢任何类型的输出!
最佳答案
SELECT
之后的每一列都会出现在您的结果中。如果您不希望它们出现,则不要将它们包含在列表中。
在您发布的 SQL 中,您可以只删除列表中的前两列,只留下两个 CASE
语句。
SELECT
CASE
WHEN SUM(number1) % 2 = 1 THEN MIN(number1)
ELSE MAX(number1)
END AS number1,
CASE
WHEN SUM(number2) % 2 = 1 THEN MIN(number2)
ELSE MAX(number2)
END AS number2
FROM numbers
关于sql - 删除 SQL 结果中的 SUM 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58722454/