Mysql计数包含逗号分隔值的单元格

时间:2016-04-27 21:11:01

标签: mysql

我有一个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',

如何处理'多'细胞计数?

1 个答案:

答案 0 :(得分:0)

如果要计算多行(值包含2个或更多数字的行),只需查找值中的任何逗号

SUM(CASE WHEN value LIKE '%,%' THEN 1 ELSE null END) as multi