如何计算mysql中有多少人



我在一个表[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

最新更新