我有下表:
Id Type
1 A
2 B
3 C
4 A
我想创建一个新表来计算每种类型的行数。为每种类型计数创建每个表很容易,但我想让它的外观和性能更好,所以可以在一个查询中做到这一点吗?我想出了一个像下面这样的查询,但它不起作用。该错误表示“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;