我有一个db表,用于存储针对文章的投票。我想查询该表,在过去30天内找到平均获得最佳总票数的文章。
我正在寻找关于如何做到这一点的一些建议,我猜我可以用PHP或MYSQL做到这一点。虽然我对PHP有了更好的把握,但我认为使用MYSQL来获得我的结果是更好的做法。
CREATE TABLE IF NOT EXISTS `ratings` (
`id` int(11) NOT NULL,
`article_id` int(11) NOT NULL AUTO_INCREMENT,
`rating` int(11) NOT NULL,
`ip` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`timestamp` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2054 ;
有没有办法求和并找到这个表结构的平均值。
揍你。
艾伦。
答案 0 :(得分:1)
MySQL中有一个函数AVG()。所以
SELECT AVG(rating)
FROM ratings
WHERE article_id = 1
将使用article_id 1给出文章的平均评分。
MySQL中还有一个SUM()函数。所以
SELECT SUM(rating)
FROM ratings
WHERE article_id = 1
将使用article_id 1给出文章所有评级的总和。