case 开始,end 结尾
多分支空格隔开.
case when a = 1 then b else c when b = 2 then d end
根据一列的内容生成一列新的
SELECT
NAME '英雄',
CASE NAME //name是和下面when的名字比
WHEN '德莱文' THEN
'斧子'
WHEN '德玛西亚-盖伦' THEN
'大宝剑'
WHEN '暗夜猎手-VN' THEN
'弩'
ELSE
'无'
END '装备' //装备是这一列的名字
FROM
user_info;
统计一列的情况
SELECT
NAME '英雄',
age '年龄',
CASE
WHEN age < 18 THEN
'少年'
WHEN age < 30 THEN
'青年'
WHEN age >= 30
AND age < 50 THEN
'中年'
ELSE
'老年'
END '状态'
FROM
user_info;
带条件统计个数(else 0 可以去掉)
select cno,count(case when degree>85 and degree <=100 then 1 else 0 end) as "[100-85]" from ...
评论区