2016-04-27 55 views
0

我有一个Mysql语句,它使用group_concact()函数根据公共ID作为逗号分隔值聚合许多值。下面是一些示例数据:包含逗号分隔值的Mysql计数单元格

name value 
sam  23 
betty 22 
sam  21,25 
paul 19 
ed  21,25,19 
ed  19 

我理想中的输出做的是计算每个值的实例的数量和处理逗号分隔值作为“多”的一个实例。我不关心有多少值被列出,而是多于一个。

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

只是选择计数,当是> 1,则意味着它是一个多。 –

回答

0

如果你想指望多行(与包含2个或多个数字值的行),只是看任何逗号值

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

太容易了 – user3520372