次の表があります。
Id Type
1 A
2 B
3 C
4 A
各タイプの行数をカウントする新しいテーブルを作成したいと思います。カウントする型ごとにテーブルを作成するのは簡単ですが、見た目も性能も良くしたいので、1回のクエリで可能でしょうか?以下のようなクエリを思いついたのですが、うまくいきません。エラーには、「WHEN 句 2 の結果は、前の結果と同じデータ型ではありません」とありました。助けていただければ幸いです。事前に感謝します。
PROC SQL;
CREATE TABLE WORK.Statistics_Count AS
SELECT
COUNT(Id) as total,
COUNT(CASE WHEN Type = "A" then Id else . end) as typeA,
COUNT(CASE WHEN Type = "B" then Id else . end) as typeB,
COUNT(CASE WHEN Type = "C" then Id else . end) as typeC,
COUNT(CASE WHEN Type <> "A" then Id else . end) as nonTypeA
FROM WORK.ListTable;
QUIT;