我有一个Mysql语句,它使用group_concact()函数将基于公共ID的多个值聚合为逗号分隔值。以下是一些示例数据:
name value
sam 23
betty 22
sam 21,25
paul 19
ed 21,25,19
ed 19
我想在输出中做的是计算每个值的实例数,并将逗号分隔值视为'multi'的实例。我不关心列出多少个值只是因为它不止一个。
name 19 21 22 23 25 multi
sam 1 1
betty 1
paul 1
ed 1 1
在我的SELECT部分中,我使用的语句如下:
SUM(CASE WHEN value = 23 THEN 1 ELSE null END) as '23',
如何处理'多'细胞计数?
答案 0 :(得分:0)
如果要计算多行(值包含2个或更多数字的行),只需查找值中的任何逗号
SUM(CASE WHEN value LIKE '%,%' THEN 1 ELSE null END) as multi