gpt4 book ai didi

MySQL - 仅当所有行都不为空时求和,否则返回空

转载 作者:可可西里 更新时间:2023-11-01 06:28:52 24 4
gpt4 key购买 nike

让我们假设下表:

 X   VALUE
1 2
1 3
2 NULL
2 4

我想要一个按 X 分组且总和为 VALUE 的结果集,但前提是与每个 X 值相关的所有行都不为空。

使用相同的例子,结果必须是:

X   SUM(VALUE)
1 5

如您所见,由于 (2, NULL) 元组,X=2 未被选中。

只要可能,我希望不使用子查询。

非常感谢!

最佳答案

您可以通过以下方式实现:

SELECT 
x,
SUM(value)
FROM
t
GROUP BY
x
HAVING
COUNT(value)=COUNT(*)

这将按照以下方式工作:以正常方式对值进行分组,然后将整个计数(因此 * 指向那个)与列计数(不包括 NULL-s)进行比较。如果它们不相等,则存在 NULL,并且不应包含值。

关于MySQL - 仅当所有行都不为空时求和,否则返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22398437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com