选择过去7天的前3个

时间:2016-06-22 09:58:58

标签: php mysql sum

我有吼叫表。

rating table

在评级表上方,我保存vote product_id user_id的{​​{1}}记录,其product_id评分为rating_date,并且product_id。< / p>

现在我必须获取在过去7天内(从当前日期起)拥有最高投票金额的前3名product_id。

对于product_id的最大投票金额记录的预期出货: -

1)vote 8965最后7天总和最多product_id

2)vote 4024最后7天总计36 product_id

3)vote 2015年有5个produt_id最近7天的总和

这是过去7天内最高的3个最高投票总额,所以我根据此输出获取了<?php $query = mysql_query("SELECT SUM(vote) AS 'meta_sum', product_id FROM rating where rating_date >= curdate() - INTERVAL '7' DAY AND rating_date < curdate() - INTERVAL '1' DAY GROUP BY product_id ORDER BY meta_sum DESC LIMIT 3") OR DIE(mysql_error()); while($row = mysql_fetch_assoc($query)) { $topexpert =$row["product_id"]; $toprating =$row["meta_sum"]; ?>

我已经尝试了下面的代码片段,但它错了。

    ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATETIME/DATE;

1 个答案:

答案 0 :(得分:1)

请替换为这些查询

SELECT SUM(vote) AS 'meta_sum', product_id 
FROM rating 
where rating_date BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()
GROUP BY product_id 
ORDER BY meta_sum DESC LIMIT 3