mysql - 投票系统,关系数据库,SQL 查询

标签 mysql sql voting-system

我想设计一个有两个表的投票系统。

第一个表包含候选人的索引和姓名。

另一个包含索引、选民和选民支持的候选人的索引。

一个选民可以支持多个候选人。

我想要一个显示候选人姓名及其支持者人数的 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/

相关文章:

php - 如何在 php 中创建一个简单的投票赞成/反对 php 脚本?

php - Mysql + PHP for "Wilson Score Interval"with time gravity

javascript - 由于页面重新加载,事件类丢失

php - 无论我调用 "commands out of sync"多少次,mysqli 都会出现 "next_result()"错误

mysql - 错误 1452 : 1452: Cannot add or update a child row: a foreign key constraint fails

sql - 尝试使用循环将多个值存储到变量中,并使用该特定变量进行插入

ruby-on-rails - 评论投票与 acts as votable

mysql - 如何构建关系数据库?数据

mysql - 选择一个类别中的所有书籍,但属于其他类别的书籍除外

mysql - 同一张表上的多个联接