繁体   English   中英

从数据库获取每日销售额

[英]Get daily sales from a database

在这个强大的社区的帮助下,我获得了此解决方案,可以按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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM