0

我一直试图使这个工作,但找不到解决方案。

我想获取SUM给定日期的一行,如果该日期没有条目,则返回一个0. 我尝试使用IFNULL()但无法使其工作。

我的查询获取最近 15 个日期的数据和SUMS每个日期的内容。这是查询

SELECT date(left(date_column, 10)) as dd, ROUND(SUM(sum_total)/1000)
as cnt FROM order_table WHERE date(left(date_column, 10)) >= DATE_ADD(CURDATE(), INTERVAL -14 DAY) 
GROUP BY date(left(date_column, 10)) ORDER BY dd ASC

我试过了

SELECT date(left(date_column, 10)) as dd, IFNULL ( ROUND(SUM(sum_total)/1000) ,'0') 
FROM order_table WHERE date(left(date_column, 10)) >= DATE_ADD(CURDATE(), INTERVAL -14 DAY) 
GROUP BY date(left(date_column, 10)) ORDER BY dd ASC

当给定日期没有数据并因此跳过该日期时,就会出现我的问题。

任何正确方向的提示将不胜感激

4

1 回答 1

0

我会尝试使用常规的 IF 函数并以这种方式测试 null 。

http://www.w3resource.com/mysql/control-flow-functions/if-function.php

于 2017-01-19T21:27:03.870 回答