【发布时间】:2017-02-10 13:56:49
【问题描述】:
我如何才能获得以下所需的结果?我可以通过添加 DISTINCT 来获得所有独特的类别,但是在检索每个类别的 total 时,下面的查询不起作用。
表结构:BEER
ID | NAME | TYPE | ALCOHOL |
要求的结果
category | total
----------------------------
Light | 34
Medium | 2
Normal | 3
Heavy | 4
Knock out | 5
我的 SQL 查询:
SELECT
CASE WHEN b.ALCOHOL < 3 THEN 'Light'
WHEN b.ALCOHOL < 5 THEN 'Medium'
WHEN b.ALCOHOL < 7 THEN 'Normal'
WHEN b.ALCOHOL < 9 THEN 'Heavy'
WHEN b.ALCOHOL >= 9 THEN 'Knock out'
END AS category
FROM BEER b;
谁能指引我正确的方向?
【问题讨论】:
-
你也需要一个 GROUP BY。
-
什么是总列?是计数(*)吗?