抱歉,我无法比标题更好地解释它。基本上;我只是想知道是否可以在初始选择中选择多个“count() as ___”,每个“count()”计算不同选择的行数。
或者我最好创建一个包含一个字段的新表,然后执行一个选择查询,并为要添加的每个新字段添加一个计数?
假设我想要下表:
NAME ---- # of cars ---- # of children ---- # of living relatives
Jon 2 2 9
Jane 3 1 10
Bob 1 1 8
...每个 # 字段都取自其他选择,在这些选择中我将人的名字与他们相关的每辆车/ child /在世亲属联系起来。我可以执行一个包含多个 count(*) 的查询吗?或者最好使用带有单个计数的查询来启动一个表,这样我就有这样的东西:
NAME ---- # of cars
Jon 2
Jane 3
Bob 1
然后通过更多的单计数查询继续向其添加字段,以便一次添加一个新行,直到到达第一个表?
最佳答案
如果我正确理解您的问题,您正在寻找类似以下查询的内容:
SELECT name,
(SELECT count(*) FROM childrens
WHERE childrens.parent_name = users.name ) As `# of children`,
(SELECT count(*) FROM cars
WHERE cars.owner_name = users.name ) As `# of cars`
-- etc.
-- etc
FROM users
关于SQL 我可以在一个查询中设置多个计数,然后让每个计数用于单独的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715179/