case函数
简单 CASE函数
CASE 测试表达式 WHEN 简单表达式1 THEN 结果表达式1 WHEN 简单表达式2 THEN 结果表达式2 … WHEN 简单表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
搜索CASE函数
CASE WHEN 布尔表达式1 THEN 结果表达式1 WHEN 布尔表达式2 THEN 结果表达式2 … WHEN 布尔表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
例50.统计每个班男生和女生的数量各是多少,统计结果的表头为,班号,男生数量,女生数量。
SELECT 班号, COUNT(CASE WHEN 性别=‘男’ THEN ‘男’ END) 男生数, COUNT(CASE WHEN 性别=‘女’ THEN ‘女’ END) 女生数 FROM 学生表 GROUP BY 班号
例51.判断成绩的等级,85-100为“优”,70-84为“良”,60-69为“及格”,60以下为“不及格”,并统计每一等级的人数。
SELECT CASE WHEN GRADE BETWEEN 85 AND 100 THEN '优' WHEN GRADE BETWEEN 70 AND 84 THEN '良' WHEN GRADE BETWEEN 60 AND 69 THEN '及格' ELSE '不及格' END 等级, COUNT(*) 人数 FROM SC GROUP BY 等级;

浙公网安备 33010602011771号