2010-01-07 35 views
0

我在我的产品表中有一个int字段,名为product_stat,每次查看产品时该字段都会增加。我也有一个日期字段叫product_date_addedMySQL:ORDER BY stat/age?

为了计算产品每天的平均访问量,您需要使用当前日期和产品添加日期来计算产品存在的天数。然后将产品属性除以其存在的天数以获得每天的平均访问量。

确定,但我想要做的就是通过每天DESC

访问我该怎么做选择的多项产品和订单呢?

谢谢!

回答

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)”。

5

你会想是这样的:

SELECT product_name, 
product_stat/datediff(now(), product_date_added) as 'VisitPerDay' 
FROM product 
ORDER by VisitPerDay DESC