我有以下片段表。
在评级表上方我正在保存vote
的记录的product_id
与 user_id
谁对此进行了评价product_id
投票和rating_date
.
现在我必须获取过去 7 天内(从当前日期开始)投票数最高的前 3 个 Product_id。
product_id 的最大投票总和记录的预期输出:-
1) product_id
8965 最大 403 vote
过去 7 天的总和
2) product_id
4024 最大 36 vote
过去 7 天的总和
3) product_id
2015年最多有5个vote
过去 7 天的总和
这是过去 7 天的前 3 名最大投票总和,因此我已获取 produt_id
根据此输出。
我尝试过以下代码片段,但它是错误的。
<?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"];
?>
最佳答案
请替换为这些查询
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
关于php - 选择过去 7 天的前 3 名总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37964661/