2016-07-11 5 views
0

フィールド内の一意のインスタンスを数え、その日数でソートし、SQLを使用して1つのクエリですべて処理しようとします。カラム内のユニークなオカレンスをカウントし、その結果を日付でグループ化する必要があります

私はこのようになりますテーブルを持っている:

Date...........Defect_Code.......... 
2016-06-12  Machine Issue 
2016-06-12  Broken 
2016-06-12  null 
2016-06-13  Machine Issue 
2016-06-13  Machine Issue 
2016-06-14  Crack 
2016-06-14  Crack 

Date............Count(Machine Issue)...Count(Broken)...Count(Crack)...Count(null).... 
2016-06-12......1......................1...............0..............1.............. 
2016-06-13......2......................0...............0..............0.............. 
2016-06-14......0......................0...............3..............0.............. 

ような表を見が得られた各Defect_Codeのインスタンスをカウントしながら、これは日付順にソートされるために、私は希望助けをあらかじめありがとう!

Defect_Codeの値が一致しているので、あなたが条件付き集計でこれを行うことができ
+0

は静的 'Defect_Code'値はありますか? –

+0

はいこれは@juergenです。 – ckoch

+0

一般的に、データ表示の問題は、プレゼンテーションレイヤー/アプリケーションレベルのコードで処理するのが最善です。利用可能であれば、 – Strawberry

答えて

0

SELECT Date 
    , COALESCE(SUM(CASE WHEN Defect_Code = 'Machine Issue' THEN 1 END),0) AS 'Count(Machine Issue)' 
    , COALESCE(SUM(CASE WHEN Defect_Code = 'Broken' THEN 1 END),0) AS 'Count(Broken)' 
    , COALESCE(SUM(CASE WHEN Defect_Code = 'Crack' THEN 1 END),0) AS 'Count(Crack)' 
    , COALESCE(SUM(CASE WHEN Defect_Code IS NULL THEN 1 END),0) AS 'Count(Null)' 
FROM YourTable 
GROUP BY Date 
ORDER BY Date 
+0

Bang!完璧な答え、ありがとう。 – ckoch

関連する問題