2012-05-24 20 views
0

请为我推荐以下的SQL查询 我有一列的项目存储在1,2,3,4这样的一列中作为分隔符或CSV值。
现在我想在一个特定的单元格中的一个特定的行中计数项目。列中的计数分隔值

即 如果我有25,45,26,45,46在表中的单元格。
我想输出像5这是什么,但在一个单元格的行中的项目数说(0,0)。 非常感谢你的答复

+0

一个正确规范化的数据库将使这个不必要的重复 –

+1

:http://stackoverflow.com/questions/7020001/how-to-count-items-in-comma-seperated-list-mysql –

回答

3

假设你没有像“123123”(注意最后的逗号)值这应该工作:

SELECT 
LENGTH(yourColumn) - LENGTH(REPLACE(yourColumn, ',', '')) + 1 AS numberOfItemsInRow 
FROM yourTable; 

查找更多信息here

但是,它会更好地规范化你的数据库!

+0

谢谢你这么多堆栈溢出岩石 – user1093513

+1

@ user1093513如果您通过接受我的答案感谢我,请点击我的答案左侧的复选标记,我将不胜感激。谢谢。 – fancyPants

+1

厚颜无耻+1! :) –