case when mysql
时间: 2023-10-28 08:58:45 浏览: 91
MySQL 的CASE WHEN 语句使用说明
5星 · 资源好评率100%
在MySQL数据库中,CASE WHEN语句用于根据条件执行不同的操作。通过使用CASE WHEN语句,我们可以根据特定的条件对结果进行分类和处理。
在基本的用法中,CASE WHEN语句由一个或多个WHEN子句、一个可选的ELSE子句和一个END关键字组成。每个WHEN子句都包含一个条件和一个相应的操作。
例如,我们可以使用CASE WHEN语句在SELECT查询中进行字符串替换处理,根据不同的条件返回不同的值:
SELECT CASE WHEN parent_id < 3 THEN '<3'
WHEN parent_id >= 3 AND parent_id < 5 THEN '>=3 && <5'
ELSE '>=5'
END AS parent_id_new,
count(*) AS num_count,
parent_id,
type_id,
type_name
FROM tdb_goods_types
GROUP BY parent_id_new
ORDER BY num_count;
在上面的例子中,我们根据parent_id的值设置了不同的条件,如果parent_id小于3,则返回'<3',如果parent_id大于等于3且小于5,则返回'>=3 && <5',否则返回'>=5'。这样我们就可以根据这个新的parent_id_new字段对结果集进行分组和排序。
另外,CASE WHEN语句也可以在WHERE子句中使用,根据不同的条件过滤数据。例如:
SELECT CASE WHEN parent_id = 0 THEN '00'
WHEN parent_id = 1 THEN '11'
ELSE 'OTHERS'
END AS parent_id_new,
parent_id,
type_id,
type_name
FROM tdb_goods_types;
在上面的例子中,我们根据parent_id的值设置了不同的条件,如果parent_id等于0,则返回'00',如果parent_id等于1,则返回'11',否则返回'OTHERS'。这样我们就可以根据新的parent_id_new字段过滤数据。
总之,CASE WHEN语句在MySQL中是一个非常有用的工具,可以根据条件执行不同的操作,包括字符串替换、分组排序和数据过滤。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文