私がいる場所のようなデータを表示しGROUP
たいDATE
:
Date Star1 Star2 Star3 Star4 Star5
2012-10-25 null null null 1 1
現在のテーブルには3つの列があり、次のように表示されます。
ID DATE RATING
5 2012-10-25 4
6 2012-10-25 5
私はこのクエリを使用して、上記のデータを達成しようとしています。
SELECT
DATE,
CASE
WHEN RATING = 1 THEN 1
ELSE NULL
END AS STAR1,
CASE
WHEN RATING = 2 THEN 1
ELSE NULL
END AS STAR2,
CASE
WHEN RATING = 3 THEN 1
ELSE NULL
END AS STAR3,
CASE
WHEN RATING = 4 THEN 1
ELSE NULL
END AS STAR4,
CASE
WHEN RATING = 5 THEN 1
ELSE NULL
END AS STAR5
FROM
table1
WHERE
DATE = '2012-10-25'
GROUP BY DATE
ORDER BY DATE
これは、次の1つの評価のみを吐き出します。
Date Star1 Star2 Star3 Star4 Star5
2012-10-25 null null null null 1
日付でのグループ化ではないようですが、どうすればこれを達成できますか?