我在我的产品表中有一个int字段,名为product_stat
,每次查看产品时该字段都会增加。我也有一个日期字段叫product_date_added
。MySQL:ORDER BY stat/age?
为了计算产品每天的平均访问量,您需要使用当前日期和产品添加日期来计算产品存在的天数。然后将产品属性除以其存在的天数以获得每天的平均访问量。
确定,但我想要做的就是通过每天DESC
访问我该怎么做选择的多项产品和订单呢?
谢谢!
我在我的产品表中有一个int字段,名为product_stat
,每次查看产品时该字段都会增加。我也有一个日期字段叫product_date_added
。MySQL:ORDER BY stat/age?
为了计算产品每天的平均访问量,您需要使用当前日期和产品添加日期来计算产品存在的天数。然后将产品属性除以其存在的天数以获得每天的平均访问量。
确定,但我想要做的就是通过每天DESC
访问我该怎么做选择的多项产品和订单呢?
谢谢!
像这样的东西应该做的伎俩,使用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)
”。
你会想是这样的:
SELECT product_name,
product_stat/datediff(now(), product_date_added) as 'VisitPerDay'
FROM product
ORDER by VisitPerDay DESC