是否有设置"默认";值设置为groupBy
?
例如,我有从枚举(宝马,保时捷,奥迪itd.(插入值的列汽车
我想分组并数一下这辆车:
select brand, count(*)
from cars
group by brand
如果数据库中有所有这些枚举的值,那么它的ok结果如下:
BMW | 3
Audi | 4
Jaguar | 5
但如果我在数据库中只有宝马的汽车,结果只有宝马:
BMW | 3
我有一个问题-如何添加默认字段以获得响应,如:
BMW | 3
Audi | 0
Mercedes | 0
您需要以某种方式列出这些值。一种方法使用values
子句:
select brand, count(c.brand)
from (values ('BMW'), ('Audi'), ('Jaguar')) v(brand) left join
cars c
using (brand)
group by brand;
在实践中,你应该在自己的表格中列出品牌,这样你就可以使用:
select brand, count(c.brand)
from brands b
cars c
using (brand)
group by brand;