簡體   English   中英

從聯接表中選擇計數和子查詢

[英]Selecting count and subquery from a joined table

假設我有一輛看起來像這樣的桌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分組的汽車總數和特定的Dealership_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

但是我假設有一種方法可以將一個特殊的Dealership_id的要約計數添加到同一張表中

任何建議都非常感謝!

 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中顯示offer_id,所以我不知道哪個是正確的,所以我使用了offer_id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM