失效SQL
select
<!--
MySQL手册中find_in_set函数的语法解释:
FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22)
--->
CASE
WHEN FIND_IN_SET( type, '类型,类型,类型,类型,类型,类型' ) THEN sum( num )
END danger,
CASE
WHEN FIND_IN_SET( type, '类型,类型,类型,类型,类型' ) THEN sum( num )
END exe,
id,
<!---
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
--->
GROUP_CONCAT( DISTINCT ( names ) ) AS nameList,
type
FROM
失效原因
sum 写在 case when 里面就造成 case when 不进行条件筛选,case when 就失效了
正确SQL
SELECT
<!--
MySQL手册中find_in_set函数的语法解释:
FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22)
--->
sum(
CASE
WHEN FIND_IN_SET( type, '类型,类型,类型,类型,类型,类型' ) THEN num else 0
END ) danger,
sum(
CASE
WHEN FIND_IN_SET( type, '类型,类型,类型,类型,类型' ) THEN num else 0
END ) exe,
id,
<!---
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
--->
GROUP_CONCAT(DISTINCT (name)) as nameList
FROM 表名