-- 第一种
SELECT
CASE
tpra_tpye
WHEN 1 THEN
'tpra类型'
WHEN 2 THEN
'问题行为' ELSE '没有类型'
END
FROM
tp_supervision_content
WHERE
lesson_date LIKE '2022-05%';
-- 第二种
SELECT
CASE
WHEN
tpra_tpye = 1 THEN
'tpra类型'
WHEN tpra_tpye = 2 THEN
'问题行为' ELSE '没有类型'
END
FROM
tp_supervision_content
WHERE
lesson_date LIKE '2022-05%';
/*
第一种和第二种可以实现相同的效果,第一种写法相对简洁,但功能有所限制,多条件时应使用第二种
*/
-- 多case使用(展示多列)
SELECT
( CASE tpra_tpye WHEN 1 THEN 'tpra类型' END ) tpra,
( CASE tpra_tpye WHEN 2 THEN '问题行为' END ) 问题行为
FROM
tp_supervision_content
WHERE
lesson_date LIKE '2022-05%';
-- 配合函数使用
SELECT
SUM( CASE WHEN tpra_tpye = 1 AND content_status = 1 THEN 1 ELSE 0 END ) AS '有效tpra',
SUM( CASE tpra_tpye WHEN 2 THEN 1 ELSE 0 END ) AS '问题行为'
FROM
tp_supervision_content
WHERE
lesson_date LIKE '2022-05%';
各种场景的详细解释:https://blog.csdn.net/weixin_30568591/article/details/98794163?utm_medium=distribute.pc_relevant.none-task-blog-title-6&spm=1001.2101.3001.4242