我在一个表[person]中有人员,在另一个表[car]中有注册到每个人的汽车,通过id连接。
我想得到一个有多少人有多少辆车的列表。
像这样:
<表类>
id
名称
tbody><<tr>1 丽莎 2亚当 3 雷 表类>
你需要分两个阶段去做。第一个是得到每人的汽车数量——
SELECT p.id, COUNT(*) num_cars
FROM person p
JOIN cars c ON p.id = c.id_person
GROUP BY p.id
然后可以嵌套计算每次计数的人数-
SELECT num_cars, COUNT(*) num_people
FROM (
SELECT p.id, COUNT(*) num_cars
FROM person p
JOIN cars c ON p.id = c.id_person
GROUP BY p.id
) t
GROUP BY num_cars
ORDER BY num_cars ASC