MySQL

Select title,case Emergency when 1 then '紧急'  else '普通' End  as  emergency   from already_sign

第一种方式:

SELECT
    s.s_id,
    s.s_name,
    s.s_sex,


CASE
WHEN s.s_sex = '1' THEN '男'
WHEN s.s_sex = '2' THEN '女'
ELSE '其他'
END

 as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
    1 = 1

第二种方式

SELECT
    s.s_id,
    s.s_name,
    s.s_sex,


CASE 
s.s_sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END 


as sex,
 s.s_age,
 s.class_id
FROM
    t_b_student s
WHERE
    1 = 1

分组

1 计算不同国家,对应的男生女生的不同个数

SELECT country,
    SUM(CASE WHEN p.sex = '1' THEN p.population ELSE 0 END) AS '男',
    SUM(CASE WHEN p.sex = '2' THEN p.population ELSE 0 END) AS '女'
FROM
    t_b_population p
GROUP BY country;

2 不同州 的人员统计

SELECT
    SUM(c.population) AS '人口',
    CASE c.country
        WHEN '中国'   THEN '亚洲'
        WHEN '印度'   THEN '亚洲'
        WHEN '日本'   THEN '亚洲'
        WHEN '美国'   THEN '北美洲'
        WHEN '加拿大' THEN '北美洲'
        WHEN '墨西哥' THEN '北美洲'
 ELSE '其他' END AS '洲'
FROM
    t_b_country c
GROUP BY CASE c.country
        WHEN '中国'   THEN '亚洲'
        WHEN '印度'   THEN '亚洲'
        WHEN '日本'   THEN '亚洲'
        WHEN '美国'   THEN '北美洲'
        WHEN '加拿大' THEN '北美洲'
        WHEN '墨西哥' THEN '北美洲'
 ELSE '其他' END;

oracle

select   decode(dir,1,0,1)   from   a1_interval