美文网首页
MySQL 的CASE WHEN 语句使用说明

MySQL 的CASE WHEN 语句使用说明

作者: wanggs | 来源:发表于2019-04-24 16:13 被阅读0次

[参考](https://blog.csdn.net/helloxiaozhe/article/details/78124138

)

MySQL case when例子介绍

1、 使用带有简单 CASE 函数的 SELECT 语句

在 SELECT 语句中,简单 CASE 函数仅检查是否相等,而不进行其它比较
SELECT
    CASE parent_id
WHEN 0 THEN
    '00'
WHEN 1 THEN
    '11'
ELSE
    'OTHERS'
END AS parent_id_new ,
parent_id ,
type_id ,
type_name
FROM
    tdb_goods_types
20170928154146204.png

2、使用带有简单 CASE 函数和 CASE 搜索函数的SELECT 语句

在 SELECT 语句中,CASE 搜索函数允许根据比较值在结果集内对值进行替换。
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 ,
parent_id ,
type_id ,
type_name
FROM
    tdb_goods_types
20170928154104454.png

3、CASE 可能是 SQL 中被误用最多的关键字之一。

虽然,可能以前用过这个关键字来创建字段,但是它还具有更多用法。

例如,可以在 WHERE 子句中使用 CASE。或者在 GROUP BY 子句中使用 CASE
使用CASE WHEN进行字符串替换处理,稍加深入,还可以得到以前认为不可能得到的分组排序结果集。

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


20170928154124615.png

相关文章

网友评论

      本文标题:MySQL 的CASE WHEN 语句使用说明

      本文链接:https://www.haomeiwen.com/subject/sfiggqtx.html