MySQL:连接多次计数

时间:2015-10-27 14:31:26

标签: mysql join count

以下是我的两张表:

[items]
- id - model - location_id -

  1    mA      23
  2    mA      23
  3    mA      23
  4    mB      24
  5    mB      24
  6    mC      25
  7    mC      26


[locations]
- id - name -

  23   aisle-3
  24   aisle-4
  25   aisle-5
  26   aisle-6

我正在尝试查询locations表中的位置名称,并返回该位置的项目计数。这是我试图无济于事的事情:

SELECT name, COUNT(item.id)
FROM locations
INNER JOIN items AS item ON (item.location_id = locations.id)

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您忘了GROUP BY

SELECT l.*, COUNT(item.id)
FROM locations l
INNER JOIN items AS i 
ON i.location_id = l.id
GROUP BY l.id

如果您希望获得COUNT()即使没有分配到该位置的项目,也应该LEFT JOIN而不是INNER JOIN