计算mysql中的出现次数

时间:2014-11-22 10:24:40

标签: php mysql sql

resp_id visitorID surveyID questionID response answer userID
     43       777      163        736 MS            0      1
     42       777      163        736 Rohit         1      1
     41       777      163        736 Virat         1      1
     40       776      163        736 MS            1      1
     39       776      163        736 Rohit         3      1
     38       776      163        736 Virat         1      1
     37       775      163        736 MS            0      1 
     36       775      163        736 Rohit         1      1 
     35       775      163        736 Virat         2      1
     34       774      163        736 MS            2      1
     33       774      163        736 Rohit         3      1
     32       774      163        736 Virat         1      1

我想计算"回答"的每个值的出现次数。关于回应表中的字段

我已经尝试但没有得到

SELECT count(answer) as answer_cnt
FROM `sg_finished_surveys`
WHERE resopnse = $q GROUP BY `answer`

$q等于唯一响应值。

4 个答案:

答案 0 :(得分:1)

您希望使用count和group by语句来获取每种答案的数量:

SELECT 
    count(*) as answer_cnt,
    `answer`
FROM 
    `sg_finished_surveys`
WHERE 
    response = '$q'
GROUP BY 
    `answer`

这将计算每个答案的实例数量,并为您提供实际答案。

你的where条款中也有拼写错误(resopnse!= response)。

您可能还想查看我发布的Question and Answer,其中包含此类查询以及更多内容。

答案 1 :(得分:0)

按visitorID使用group 即,

 SELECT count(answer) as answer_cnt FROM `sg_finished_surveys`
 WHERE resopnse = $q group by visiterID

答案 2 :(得分:0)

$q需要单引号。

SELECT count(*) as answer_cnt
FROM `sg_finished_surveys`
WHERE resopnse = '$q' GROUP BY `answer`

答案 3 :(得分:0)

SELECT COUNT(answer)
FROM `sg_finished_surveys`
WHERE respondence = '".$q."'
GROUP BY answer