Mysql 如何根据特定标准进行分组和计数?
我有一张有汽车和车库的桌子。每辆车只列在一个车库里,但是一个车库可以有很多车。我想知道车库里每种车有多少辆。每辆车在数据库中都有自己的行 这张桌子看起来像这张Mysql 如何根据特定标准进行分组和计数?,mysql,sql,Mysql,Sql,我有一张有汽车和车库的桌子。每辆车只列在一个车库里,但是一个车库可以有很多车。我想知道车库里每种车有多少辆。每辆车在数据库中都有自己的行 这张桌子看起来像这张 +-------+--------+-----+ |carType| garage |id | +-------+--------+-----+ | 1 | 1 | 1 | +-------+--------+-----+ | 1 | 1 | 2 | +-------+--------+--
+-------+--------+-----+
|carType| garage |id |
+-------+--------+-----+
| 1 | 1 | 1 |
+-------+--------+-----+
| 1 | 1 | 2 |
+-------+--------+-----+
| 1 | 2 | 3 |
+-------+--------+-----+
| 2 | 2 | 4 |
+-------+--------+-----+
这就是我想要的
+-------+------------+--------+
|carType| carCount | garage |
+-------+------------+--------+
| 1 | 2 | 1 |
+-------+------------+--------+
| 1 | 1 | 2 |
+-------+------------+--------+
| 2 | 1 | 2 |
+-------+------------+--------+
问题是我不知道查询应该是什么样子。您只需要按carType和garage进行分组:
输出:
carType garage carCount
1 1 2
1 2 1
2 2 1
我第一次尝试在这里回答一些问题,希望它能成功! 正如Gordon所说,提示分组,如果下面不正确,请大声喊出Gordon
with t
as
(select * from(values(1,1,1),(1,1,2),(1,2,3),(2,2,4)) as t (carType,garage,id))
select carType, count(id) as carCount, garage
from t
group by carType, garage
提示:分组依据。我知道我必须使用分组依据和计数,但如果我按类型分组,它会忽略车库。
with t
as
(select * from(values(1,1,1),(1,1,2),(1,2,3),(2,2,4)) as t (carType,garage,id))
select carType, count(id) as carCount, garage
from t
group by carType, garage