我的产品表中有一个名为product_stat
的 int 字段,每次查看产品时该字段都会递增。我还有一个名为product_date_added
的日期字段。
为了计算产品每天的平均访问量,您需要使用当前日期和产品添加日期来计算产品存在的天数。然后将产品统计除以其存在的天数以获得每日平均访问量。
好的,但我想要做的是选择一些产品并按每日访问次数 DESC
我该怎么做?
感谢!!!
答案 0 :(得分:5)
这样的事情可以解决问题,使用DATEDIFF获取两个日期之间的差异,然后将product_stat
列除以该差异。
SELECT
p.*,
p.product_stat/DATEDIFF(CURDATE(),p.product_date_added) as visits_per_day
FROM products p
ORDER BY visits_per_day DESC
虽然注意到DATEDIFF仅在MySQL 4.1.1中出现。如果您使用的是早期版本,则应改为使用“TO_DAYS(CURDATE()) - TO_DAYS(p.product_date_added)
”。
答案 1 :(得分:5)
你会想要这样的东西:
SELECT product_name,
product_stat / datediff(now(), product_date_added) as 'VisitPerDay'
FROM product
ORDER by VisitPerDay DESC