1
我有一个投票记分系统,每个用户每天可以对任何产品进行评分(每天最多10分,但他们每天可以在同一个产品上进行评分)。是否有可能通过一个查询获取所有这些统计信息?
我投票表的模式如下所示: 投票:ID,user_id,product_id,分数,日期。
我想要做的不仅是获取个人投票的总得分和金额(所以我可以计算出平均值),而且还可以获得当前选民的唯一金额(DISTINCT user_id's)时间范围(在本例中为一个月)。目前我的查询是:
SELECT
SUM(`Vote`.`score`) AS `score`,
COUNT(*) AS `votes`,
CONCAT(YEAR(`Vote`.`date`), '-', MONTH(Vote.date)) AS `month`
FROM
`votes` AS `Vote`
WHERE
`product_id` = 4
GROUP BY
month
ORDER BY `Vote`.`date` DESC
在此先感谢。
一个细节:'score'在'AVG(分数)'不是''中SUM score'创建(分)',而是保存在TABEL原始分数(你的结果列命名是非常不清楚)。您不能在创建其他列时使用先前创建的列。 (清楚了吗?=)) – Rudie 2011-05-05 22:56:07
@Rudie;你是对的,我应该改变这个别名。 – 2011-05-05 22:59:11
我说得对!有亚去 – Rudie 2011-05-05 23:03:01