我想设计一个有两个表的投票系统。
第一个表包含候选人的索引和姓名。
另一个包含索引、选民和选民支持的候选人的索引。
一个选民可以支持多个候选人。
我想要一个显示候选人姓名及其支持者人数的 sql 查询。
所以结果看起来像
约翰 12、鲍勃 8、大卫 3...
SELECT `name`, COUNT(table2.voter) AS `count`
FROM `table1`
LEFT JOIN `table2`
ON table1.idx = table2.support
ORDER BY COUNT(table2.voter) DESC;
上面的查询只给出了一行选民总数。
谁能给我任何提示?
最佳答案
SELECT `name`, COUNT(table2.voter) AS `count`
FROM `table1`
LEFT JOIN `table2` ON table1.idx = table2.support
GROUP BY `name`
ORDER BY COUNT(table2.voter) DESC;
您缺少 group by
,因此只能得到第一个结果。
关于mysql - 投票系统,关系数据库,SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889050/