在这个伟大社区的帮助下,我得到了这个解决方案,可以按 2 小时的间隔对每日销售额进行分组。
SELECT SUBSTRING(DATE(o.date_purchased) +
INTERVAL (HOUR(o.date_purchased) -
HOUR(o.date_purchased) MOD 2) HOUR , 12) AS time_purchased,
ROUND(SUM(ot.value), 2) AS sales_today,
COUNT(*) AS orders_today
FROM orders AS o
JOIN orders_total AS ot ON ot.orders_id = o.orders_id
WHERE ot.class = 'ot_total'
AND o.date_purchased >= CURRENT_DATE()
AND o.date_purchased < CURRENT_DATE() + INTERVAL 1 DAY
GROUP BY DATE(o.date_purchased) +
INTERVAL (HOUR(o.date_purchased) -
HOUR(o.date_purchased) MOD 2) HOUR
如何更改此查询以获取一个月中每一天的每日销售额。自动从第一天开始到实际月份的最后一天结束?
最佳答案
要获取当月的每日销售额,您可以将查询写为
SELECT DATE(o.date_purchased) AS date_purchased,
ROUND(SUM(ot.value), 2) AS sales_per_day,
COUNT(*) AS orders_today
FROM orders AS o
JOIN orders_total AS ot ON ot.orders_id = o.orders_id
WHERE ot.class = 'ot_total'
AND o.date_purchased >= LAST_DAY(NOW() - INTERVAL 1 MONTH) + INTERVAL 1 DAY
AND o.date_purchased <= LAST_DAY(NOW())
GROUP BY DATE(o.date_purchased)
关于mysql - 从数据库中获取每日销售额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141901/