gpt4 book ai didi

mysql - Group By 在同一字段上有多个 Having

转载 作者:行者123 更新时间:2023-11-29 04:42:30 24 4
gpt4 key购买 nike

示例表:

a | b
-----
1 | 1
1 | 2
2 | 1
3 | 0
3 | 1
4 | 1
4 | 2
4 | 3
5 | 0

我想获取 a 列的所有 DISTINCT 值,这些值与 b 列的值相关联,其中 b = 1 和 b = 2

结果应该是:

a
-
1
4

这是否适用于 GROUP BY?我尝试了以下 SQL,但它总是给出 0 个结果:

SELECT t.a
FROM table t
GROUP BY t.a, t.b
HAVING t.b = 1 AND t.b = 2

MySQL 似乎在同一行而不是分组的 b 行上调用 AND 语句。

有什么想法吗? :)

最佳答案

你们很亲近。试试这个:

SELECT t.a
FROM table t
GROUP BY t.a
HAVING SUM(t.b = 1) > 0 AND SUM(t.b = 2) > 0;

每个 SUM() 条件都会计算条件为真的行数。您需要两者,因此 > 0AND

EDITGROUP BY

中删除了 t.b

关于mysql - Group By 在同一字段上有多个 Having,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25629610/

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