sql中case的使用方法
case函数具有两种格式,分别是以下两种:
①: case简单函数case 列名 when 值1 then 结果1 when 值2 then 结果2 else 其他结果 end
②:case搜索函数
case when 条件1 then 值1 when 条件2 then 值2 else 其他结果 end
注:case只返回第一个满足条件的值。
2.示例:
①case简单函数示例:
SELECT
compid,
(case checkmethod
when 'A' then 1
when 'B' then 2
when 'C' then 3
else 0 end) as flag
from
bz_check_main
结果图示:
②case搜索函数示例:
SELECT
compid,
IFNULL(SUM(CASE
WHEN (checkmethod = 'A') THEN 1
END),
0) AS xx1,
IFNULL(SUM(CASE
WHEN (checkmethod = 'B') THEN 2
END),
0) AS xx2,
IFNULL(SUM(CASE
WHEN (checkmethod = 'B') THEN 3
END),
0) AS xx3
FROM
bz_check_main
GROUP BY compid;
小记:此列中进行了行列置换,统计A、B、C、的数量,并对空值以0做替换;ifnull函数是MySql中的函数。
结果图示: