2011-10-27 10 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

素晴らしい。最後のcolを含むのを忘れて、自分で管理してください。 ありがとう! –

+0

ああ、申し訳ありません、それを含めることを忘れましたが、原則は同じです;-) – hochl