Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-如何通过投票总数进行连接和排序?_Mysql_Sql - Fatal编程技术网

MySQL-如何通过投票总数进行连接和排序?

MySQL-如何通过投票总数进行连接和排序?,mysql,sql,Mysql,Sql,我有这样的模式(只是试验,所以如果你有改进建议,我洗耳恭听): 我正试图把数据作为排行榜,以最多的票数排列结果。我该怎么做?我可以做左连接部分,但是查询的求和和和排序部分让我感到困惑 谢谢大家! 因为你不知道如何求和,我听说过这本书的好处,自学SQL是10分钟。就您的模式而言,人名可能不应该出现在竞赛条目表中。您应该能够从另一个表中使用member_id字段获取它。此外,竞赛项目中guid字段的用途是什么?@DanBracuk guid用于避免重复项目。我正在尝试不将其键入成员id以获得唯一性,

我有这样的模式(只是试验,所以如果你有改进建议,我洗耳恭听):

我正试图把数据作为排行榜,以最多的票数排列结果。我该怎么做?我可以做左连接部分,但是查询的求和和和排序部分让我感到困惑


谢谢大家!

因为你不知道如何求和,我听说过这本书的好处,自学SQL是10分钟。就您的模式而言,人名可能不应该出现在竞赛条目表中。您应该能够从另一个表中使用member_id字段获取它。此外,竞赛项目中guid字段的用途是什么?@DanBracuk guid用于避免重复项目。我正在尝试不将其键入成员id以获得唯一性,这样我就不必强迫人们注册。在
contest\u voces
中,每一票会有一行,还是每
contest\u entry\u id
user\u id
中增加
vote
列?我想每一票只有一行。然后呢您不需要
投票
列。对于给定的
contest\u条目\u id
select e.entry_id, sum(v.vote) as votes
from contest_entries e
left join contest_votes v on e.entry_id = v.contest_entry_id 
group by e.member_id
order by votes desc
select e.entry_id, sum(v.vote) as votes
from contest_entries e
left join contest_votes v on e.entry_id = v.contest_entry_id 
group by e.member_id
order by votes desc
SELECT entry_id
FROM contest_entries
LEFT OUTER JOIN contest_votes ON entry_id = contest_entry_id
GROUP BY entry_id
ORDER BY SUM(vote) DESC