SQL Group by子查询被忽略

米格尔·史蒂文斯(Miguel Stevens)

我有一个数据库,其中一个公司有一定数量的空位,这些空位可以填充人员。.我想查询一下,看看哪些公司还有空位

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

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

这应该给我一张带槽的表格,并在人员表中填满该公司的人员数量,但是每次都会返回人员总数。

这就是结果

在此处输入图片说明

谢谢!

吉米·B

就像@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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sql group_concat和子查询

来自分类Dev

子查询T-SQL中的GROUP BY

来自分类Dev

子查询中的SQL Group By语句

来自分类Dev

在SQL中的子查询中使用group by

来自分类Dev

子查询T-SQL中的GROUP BY

来自分类Dev

在SQL中的子查询中使用group by

来自分类Dev

带有子查询的 SQL GROUP BY

来自分类Dev

SQL Select忽略子查询的结果

来自分类Dev

SQL查询总和IF GROUP BY

来自分类Dev

SQL Server-子查询中有GROUP BY的COUNT个

来自分类Dev

SQL 子查询或 Group BY 返回特定列的不同值?

来自分类Dev

SQL Server int转换会忽略子查询吗?

来自分类Dev

LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

来自分类Dev

LINQ查询从SQL转换,SQL使用包含GROUP BY和COUNT的子查询

来自分类Dev

使用group by的oracle sql查询

来自分类Dev

带Group By语句的SQL查询

来自分类Dev

SQL“GROUP BY”多行忽略一个

来自分类Dev

SQL查询忽略空间

来自分类Dev

SQL:使用GROUP BY子句选择第二低的值(通过子查询)

来自分类Dev

如何在Sybase SQL子查询的结果上正确使用GROUP BY

来自分类Dev

SQL子查询和group by产生具有相同值的行

来自分类Dev

SQL-使用GROUP BY获取子查询子集中或联接中的最新记录

来自分类Dev

为什么在 SQL 连接语句中使用 Group By 而在子查询中使用 Order By?

来自分类Dev

带GROUP BY和条件的SQL查询

来自分类Dev

sql查询使用group by怎么办

来自分类Dev

SQL Group By子句如何划分查询结果

来自分类Dev

sql查询使用group by怎么办

来自分类Dev

使用GROUP BY和IN的SQL查询太慢

来自分类Dev

SQL Server中的GROUP BY在复杂查询中