mysql - 从数据库中获取每日销售额

标签 mysql sql

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

相关文章:

mysql - 从mysql存储过程中的mysql结果集获取最后的结果

sql - SQL Server 2008中的计数(不同的([值))OVER(分区依据)

sql - sql中的字符串填充

c# - 是否可以将 DataTable 传递给 Entity Framework 中的临时 sql 查询?

sql - 将时间 23 :59:59. 999 添加到结束日期之间

php - SQL 数组 var_dump 没有显示任何内容

php - SQL 查询中的 While 循环

mysql - 更新mysql数据最快、最有效的方法

javascript - 在数据库中同时搜索多个表

mysql - 我已经安装了 ubuntu 和 mysql 。下面的错误不断出现