gpt4 book ai didi

mysql - SQL Group by Subquery 被忽略

转载 作者:行者123 更新时间:2023-11-29 07:50:12 27 4
gpt4 key购买 nike

我有一个数据库,其中一家公司有一定数量的空位,这些空位可以容纳人员..我想做一个查询,我可以看到哪些公司仍有空缺

这是我正在尝试的查询,但它给了我错误的结果。

select
name,
slots,
(select count(*) from persons) as persons
from companies
where city_id = 3
group by companies.id

这应该给我一个带有槽位的表,以及人员表中该公司的人员数量,但它每次都会返回人员总数。

这就是结果

enter image description here

谢谢!

最佳答案

就像 @JoeTaras 所说,您需要加入个人和公司才能知道/计算哪些人属于哪个公司。如果您不以某种方式加入他们,公司和个人将被单独对待和统计,这通常不是很有用。

确实可以使用不同的子查询,但它并不完全是“你做的”,并且可能会比直接连接的性能更低。

示例:

select
companies.id
companies.name,
companies.slots,
count(persons.id)
from companies
left outer join persons on companies.id = persons. ...
where companies.city_id = 3
group by companies.id, companies.name, companies.slots

关于mysql - SQL Group by Subquery 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671269/

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