MySQL查询计数投票

Nig*_*awk 0 mysql inner-join subquery

我有一个包含以下列的表:user_id,key,value和flag.SELECT,FROM,WHERE,GROUP BY和ORDER BY按预期自行工作.当我尝试将密钥添加到表中时,我收到一个错误,表示要检查我的语法.关键是问题,价值就是答案.我想要一个结果,显示所有可能答案的所有问题以及答案发生频率的计数.

SELECT value AS 'Answer', count(*) AS 'Total Votes'
FROM survey_data sd
INNER JOIN (SELECT key FROM sd GROUP BY key) T1 ON T1.key = sd.key
WHERE flag != 1
GROUP BY value
ORDER BY 'Total Votes' DESC
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

作为旁注,当我在没有INNER JOIN的情况下运行此查询时,结果不是通过'Total Votes'对DESC进行排序 - 是否有人知道问题的原因或原因?

谢谢,瑞恩

Nic*_*ssu 7

key是保留字.

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

把它放在反引号(alt + 96)内或重命名你的字段

编辑.如果您使用包含多个单词的别名,则必须使用反引号.所以改变你的订单条款

按顺序排序,total votes没有引号

在总票数之前和之后提出反击.我没有在帖子中看到它们,或者甚至用一个单词更好地改变你的字段别名.