我需要进行以下查询并提取按日分组的订单总数和总和.我正在使用时间戳存储所有内容.
SELECT
COUNT(id) as order_count,
SUM(price + shipping_price) as order_sum,
DAY(FROM_UNIXTIME(created)) as day
FROM `order`
WHERE '.implode(' AND ', $where).'
Run Code Online (Sandbox Code Playgroud)
我需要在DAY进行分组,但是当我为上周末的销售工作时,它需要我的order_count并将其设为1而不是3.我如何提取按天分组的上述值?
注意:implode仅用于定义时间段(WHERE创建> = TIMESTAMP AND <= TIMESTAMP)
更新
没有GROUP BY day
Array (
[order_count] => 3
[order_sum] => 69.70
[day] => 17
)
Run Code Online (Sandbox Code Playgroud)
使用GROUP BY day
Array (
[order_count] => 1
[order_sum] => 24.90
[day] => 17
)
Run Code Online (Sandbox Code Playgroud)
我需要此查询来返回每天有销售,订单数量和销售额的总和.我在这里错过了一块拼图....
mač*_*ček 41
你GROUP BY ...最后忘记添加了吗?
SELECT
COUNT(id) as order_count,
SUM(price + shipping_price) as order_sum,
DAY(FROM_UNIXTIME(created)) as order_day
FROM `order`
WHERE '.implode(' AND ', $where).'
GROUP BY order_day
Run Code Online (Sandbox Code Playgroud)
您不能使用as day您的日期列,因为day它是MySQL函数.使用类似的东西order_day.
根据@OMG Unicorn的评论,您可以使用:
DAY(FROM_UNIXTIME(created)) as `day`
Run Code Online (Sandbox Code Playgroud)
只要包裹day在'反引号中.