mysql - 获得 7 天的每日总销售额

标签 mysql sql

我正在尝试获取过去 7 天的日期和 SUM(总计)。我正在尝试此代码并获得 date NULL 和 daily_sale 0.00

SELECT
  date,
  IFNULL( SUM( total ), 0 ) AS daily_sale
FROM sales
WHERE date BETWEEN NOW()
    AND DATE_SUB(NOW(), INTERVAL 7 DAY)

我记不清如何获取日期和每日总销售额。我想得到结果

date       daily_sale    
2013-01-29 500.00
2013-01-28 500.00
2013-01-27 500.00
2013-01-26 500.00
...
2013-01-23 500.00

最佳答案

您可以尝试使用 interval - 7 day:

SELECT  date, SUM(Coalese(total,0)) AS daily_sale
FROM yourtable
WHERE date BETWEEN NOW()  AND DATE_ADD(NOW(), INTERVAL -7 DAY)

不确定为什么 between 不起作用,检查一下:

SQLFIDDLE DEMO

select dates, sum(coalesce(daily_sale,0)) as total
from sales
where dates <= NOW()
and dates >= Date_add(Now(),interval - 7 day)
group by dates
;

|                          DATES | TOTAL |
------------------------------------------
| January, 23 2013 00:00:00+0000 |   500 |
| January, 24 2013 00:00:00+0000 |   500 |
| January, 27 2013 00:00:00+0000 |  1500 |
| January, 28 2013 00:00:00+0000 |  1000 |
| January, 29 2013 00:00:00+0000 |   500 |

关于mysql - 获得 7 天的每日总销售额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14580323/

相关文章:

php - phpmyadmin中创建函数错误

php - SQL 更改表与值

mysql - 使用 INNER JOIN 或 EXISTS 在 m2m 关系中查找属于多个是否更好?

c# - 为什么 .CommandText 不像 sqldeveloper 中的查询那样识别 LIKE 语句?

mysql - 如何在 MySQL 中获取两个日期中较新的一个?

sql - SUM 和带有日期的Where 子句

php - 如何正确处理 html 表单中的撇号?

php - varchar 数据类型不显示长条目的结果

php - 使用 mysql/php 从数据库中选择行

php从mysql中获取多个数据