0
daily_average
列总是返回零。默认时间戳值是过去一周。想知道我在做什么错在每天获得平均订单价值?帮助计算平均每天
SELECT
SUM(price+shipping_price) AS total_sales,
COUNT(id) AS total_orders,
AVG(price+shipping_price) AS order_total_average,
(SELECT
SUM(quantity)
FROM `order_product`
INNER JOIN `order` ON (
`order`.id = order_product.order_id AND
`order`.created >= '.$startTimestamp.' AND
`order`.created <= '.$endTimestamp.' AND
`order`.type_id = '.$type->getId().' AND
`order`.fraud = 0
)
) as total_units,
SUM(price+shipping_price)/DATEDIFF('.$endTimestamp.', '.$startTimestamp.') as daily_average
FROM `order`
WHERE created >= '.$startTimestamp.' AND
created <= '.$endTimestamp.' AND
fraud = 0 AND
type_id = '.$type->getId().'
什么是startTimestamp和endTimestamp?时代以来的时间?格式化日期?如果格式化,如何? DATEDIFF需要日期而不是时间戳。如果从时代开始,FROM_UNIXTIME会有所帮助。 – justkt 2011-02-25 15:04:05
你明白了吗? – Rudu 2011-02-25 17:57:29