我的桌子上只有几天的金额,例如:
odd?
如何查询数据并获取:
[DATE] [AMT]
11/1/2017 $123
11/1/2017 $50
11/3/2017 $123
我试过了:
11/1/2017 $173
11/2/2017 $0
11/3/2017 $123
但是没有数据,任何想法,它仍然没有返回0?
答案 0 :(得分:1)
你需要一张包含所有日子的桌子,所以你可以填补空洞,我们称之为allDays
Get a list of dates between two dates using a function
然后你的查询是:
SELECT a.[date], COALESCE(SUM([AMT]),0)
FROM allDates a
LEFT JOIN yourTable t
ON a.[date] = t.[date]
GROUP BY a.[date]
答案 1 :(得分:1)
在 Access 中,您可以在第一个和最后一个日期之间创建一系列日期,然后为汇总数据创建外部联接。
以下是创建日期系列的方法:
答案 2 :(得分:0)
有两个简单的解决方案。
答案 3 :(得分:0)
我建议您尝试以下查询:
SELECT DATE_FORMAT(date, "%b") AS month, SUM(total_price) as total
FROM table
WHERE date <= NOW()
and date >= Date_add(Now(),interval - 12 month)
GROUP BY DATE_FORMAT(date, "%m-%Y"))