在mysql的每一行中查找列中单词的计数

时间:2016-08-04 13:41:58

标签: mysql mysqli

我有一个表名'answer',用户可以为问题保存答案。 用户给出一个问题的多个答案。所以在“回答”栏中回答保存为字符串。 我的表看起来像这样

id  userid   questionid  answer

1   2        5           red,blue,white,green

2   3        5           red,blue

3   5        5           red,white

4   6        5           blue,white,green

5   7        5           red,blue,white,green      

我想选择那些答案3值(蓝色,白色,绿色)或超过3(红色,蓝色,白色,绿色)的用户ID。 我尝试使用length函数,但它不起作用。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

根据我在评论ealier上提供的链接,您可以通过这样做完成您想要的内容:

SELECT userid    
FROM AnswersTable 
WHERE ROUND (   
         (LENGTH(answer) - LENGTH( REPLACE ( answer, ",", "") ) ) / LENGTH(",")        
       ) > 2