简体   繁体   English

从数据库获取每日销售额

[英]Get daily sales from a database

With the help of this great community I get this solution to group the daily sales by 2 hours interval. 在这个强大的社区的帮助下,我获得了此解决方案,可以按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

How do I change this query to get the daily sales of every day of a month. 如何更改此查询以获取一个月中每一天的每日销售额。 Starting automatically with the first day and ending with the last day of the actual month? 自动从第一天的第一天开始到最后一个月的最后一天结束?

To get daily sales of current month you can write your query as 要获取当月的每日销售额,您可以将查询写为

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