在 PHP 和 MySQL 中排名

Ranking in PHP and MySQL

  `id` int(11) NOT NULL,
  `ip` text NOT NULL,
  `song` text NOT NULL,
  `vote` int(11) NOT NULL

我创建了一个投票系统,我想打印得票多的歌曲...我该怎么做?谢谢

我想你需要尝试计算这首歌的总票数

SELECT SUM(vote)as VOTECOUNT, song FROM votes GROUP BY song ORDER BY SUM(vote) DESC LIMIT 10

如果我没理解错的话,你的 table 包含了每一票。 我还假设歌曲是歌曲的唯一 ID。 如果是这样,您需要将投票值相加并将其除以总票数。

SELECT song, SUM(vote)/COUNT(*) AS rateing FROM your_table_name GROUP BY song ORDER BY rateing DESC;

您需要尝试以下 query.you 可以获得最高投票的歌曲。 把你的 table 名字放在 'table_name'.

SELECT 歌曲,SUM(投票)as VOTECOUNT FROM table_name GROUP BY song order by VOTECOUNT desc