如何从两个表中获取出现次数

时间:2013-11-22 16:41:11

标签: mysql sql count

我有两个表:ItemsThings。项目has_many事物

产品

id     name
----   -----
1      Item1
2      Item2

观光

id     name    item_id
----  -----  -----------
1     thing1   1
2     thing2   1
3     thing3   1
4     thing6   2
5     thing7   6
6     thing6   2

我希望结果可以显示包含所有项目的所有行并根据item_id

计算结果
id    name   count
---   ----  ------
1     item1  3
2     item2  2

1 个答案:

答案 0 :(得分:2)

试试这个:

SELECT i.id,i.name,count(*)
FROM items i
INNER JOIN things t ON t.item_id = i.id
GROUP BY i.id, i.name
ORDER BY i.id