gpt4 book ai didi

mysql - 三张表的 SQL 二次计数

转载 作者:行者123 更新时间:2023-11-29 04:43:14 25 4
gpt4 key购买 nike

我需要一个从三个表(公司、权限 A、权限 B)中读取的 SQL 查询。权限 A 和 B 是 m:n 关系表。我想计算与公司相关的权限 A 和 B 中的条目。

公司结构:

CID |名称 | ...

权利结构A

骑行 |客户ID | ...

权利结构B

日度 |客户ID | ...

这是我当前的 SQL 语句。我有时会得到正确的值,但有时不会。我不知道为什么。

SELECT 
company.*,
count(rightsa.RIDe) AS AnzahlE,
count(rightsb.RIDu) AS AnzahlU
FROM company
LEFT JOIN rightsa ON company.CID = rightsa.CID
LEFT JOIN rightsb ON company.CID = rightsb.CID
GROUP BY company.CID ORDER BY company.name;

最佳答案

在您的计数函数中使用 DISTINCT,因此它将只计算每个公司的不同 rightsa.RIDerightsb.RIDu

SELECT company.*, 
count(DISTINCT rightsa.RIDe) AS AnzahlE,
count(DISTINCT rightsb.RIDu) AS AnzahlU
FROM company
LEFT JOIN rightsa ON company.CID = rightsa.CID
LEFT JOIN rightsb ON company.CID = rightsb.CID
GROUP BY company.CID ORDER BY company.name;

关于mysql - 三张表的 SQL 二次计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24172153/

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