gpt4 book ai didi

mysql - 如何获取包含 GROUP BY 语句的 SQL 查询的计数?

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

所以我有一个像这样的 SQL 查询:

SELECT p.*
FROM parent p JOIN join_table j ON p.id=j.parent_id
WHERE j.child_id=1 OR j.child_id=2
GROUP BY j.parent_id
HAVING COUNT(j.child_id)=2;

这是我从 this excellent answer here 得到的。现在我想修改查询以返回所有父元素的计数。不幸的是,由于 GROUP BY 语句,我无法执行此操作(因为它将给出每个分组语句的计数)。

我的尝试是明显而幼稚的方法:

SELECT COUNT(DISTINCT(p.id))
FROM parent p JOIN join_table j ON p.id=j.parent_id
WHERE j.child_id=1 OR j.child_id=2
GROUP BY j.parent_id
HAVING COUNT(j.child_id)=2;

感谢您的帮助。

最佳答案

试试这个:

SELECT COUNT(*) FROM
(SELECT p.*
FROM parent p JOIN join_table j ON p.id=j.parent_id
WHERE j.child_id=1 OR j.child_id=2
GROUP BY j.parent_id
HAVING COUNT(j.child_id)=2) AS res;

关于mysql - 如何获取包含 GROUP BY 语句的 SQL 查询的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285893/

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