PHP和MySQL中的排名
我已经创建了一个投票系统,我想打印更多投票的歌曲。。。我该怎么做?谢谢你我想你需要试着计算这首歌的总票数PHP和MySQL中的排名,php,mysql,ranking,Php,Mysql,Ranking,我已经创建了一个投票系统,我想打印更多投票的歌曲。。。我该怎么做?谢谢你我想你需要试着计算这首歌的总票数 `id` int(11) NOT NULL, `ip` text NOT NULL, `song` text NOT NULL, `vote` int(11) NOT NULL 如果我理解正确,您的表格包含每一张选票。 我还假设歌曲是歌曲的唯一ID。 如果是这样的话,你需要将选票的价值相加,然后除以总票数 SELECT SUM(vote)as VOTECOUNT, song
`id` int(11) NOT NULL,
`ip` text NOT NULL,
`song` text NOT NULL,
`vote` int(11) NOT NULL
如果我理解正确,您的表格包含每一张选票。 我还假设歌曲是歌曲的唯一ID。 如果是这样的话,你需要将选票的价值相加,然后除以总票数
SELECT SUM(vote)as VOTECOUNT, song FROM votes GROUP BY song ORDER BY SUM(vote) DESC LIMIT 10
您需要尝试下面的查询。您可以获得最高投票率的歌曲。 将您的表名放入“表名”
从表中选择song,SUM(vote)作为VOTECOUNT,按歌曲顺序按VOTECOUNT desc分组基本上你在问什么?是SQL查询吗?还是PHP脚本?到目前为止你都尝试了什么?你是什么意思
更多
更多然后是什么?这就是为什么我不知道离开的原因,我需要一个php脚本,在那里检查哪些歌曲有更多的选票,并打印出10首投票最多的歌曲。我的意思是你问的结果是人民投票最多的歌曲,对吗?所以这意味着你需要计算总票数。实际上,我想提取表中的所有票数,然后相加,我如何在php中建模?我需要一个循环来打印前十名吗?@Cristoforo我现在编辑我的代码,你可以在你的php中看到它返回的前十名VOTECOUNT,如果你能得到前十名记录的话。为什么你要写我的答案。是的,你需要用foreach循环打印这10张记录
SELECT song, SUM(vote)/COUNT(*) AS rateing FROM your_table_name GROUP BY song ORDER BY rateing DESC;