2011-10-27 171 views
1

我有一個表,我存儲所有產品訂單。 我需要計算按經銷商和月份分組的關閉和失敗訂單的數量以及失敗訂單的百分比和額外信息的數量請求。SQL查詢:計數器和百分比

表看起來是這樣的:

order id | status | dealer_id | month | area | requests 
    1  Closed  1   4  N "extra info" 
    2  failed  2   4  S "extra info" 
    3  failed  2   4  S  0 

樣本結果集將是:

dealer | month | Total | % Failed | Requested info 
     1  4   1   0    0 
     2  4   2  100 %   1 

回答

0

該查詢似乎工作,在Linux上使用的SQLite:

SELECT a.dealer_id AS dealer, a.month, COUNT(*) AS total, 
      (SELECT COUNT(*) 
      FROM orders b 
      WHERE b.dealer_id=a.dealer_id 
      AND b.month=a.month 
      AND b.status!='Closed')*100/COUNT(*) AS failed 
    FROM orders a 
    GROUP BY a.dealer_id, a.month; 

請檢查如果這符合您的要求並提供反饋!

+0

太好了。忘了包括最後一個列,但由我自己管理。 謝謝! –

+0

哦,對了,抱歉忘了包括它,但當然原則是相同的;-) – hochl