假设我有一个表cars
,看起来像这样:
cars_ id | offer_id | make_name | model_slug
1 2 Audi Q1
2 2 Audi Q2
3 2 Audi Q3
4 2 Audi Q2
5 2 Audi Q1
和offers
表格
offer_id | dealership_id | make_name
1 2 Audi
2 2 Audi
3 2 Audi
4 2 Audi
5 2 Audi
我正在尝试获得两个指标:按model
分组的汽车总数和特定经销商_id的优惠数量,如下所示:
Model| total cars| offers for dealership = 2
Q1 2 0
Q2 2 1
Q3 1 0
要获得汽车总数非常简单:
select C.model_slug,
count(*),
from quotes_site.cars C
left join quotes_site.offers O
on C.offer_id = O.id
where C.make_name ilike 'Audi'
group by C.model_slug
但是我假设有一种方法可以将特定经销商_id的优惠计数添加到同一张桌子
非常感谢任何建议!
答案 0 :(得分:0)
select
C.model_slug,
count(*),
sum(decode(o.dealership_id,2, 1,0)) sum_dealership_2
from
quotes_site.cars c,
quotes_site.offers o
where
c.offer_id = o.offer_id
group by
C.model_slug
在你的例子中,offer表的ID不是offer_id,但在表格描述中U show offer_id,所以我不知道哪一个是正确的,所以我使用了offer_id。