我正在选择一个数据范围,该范围可以很好地与我的代码配合使用并返回预期的数据。问题是当我添加要按月检索的代码时,我会得到null。
https://www.sqltutorial.org/sql-date-functions/extract-month-from-date-sql/
SELECT SUBSTRING(date_time,1,10), SUM(Total), sum(Total_ly))
FROM Transaction
WHERE Substring(date_time,1,10) between '01/03/2019' AND '04/04/2019'
Group By date_time
Having sum(Total)<>0;
所以在我的表中是:
date_time \ Total
01/03/2019 45.00
02/03/2019 34.00
23/03/2019 12.00
01/04/2019 90.00
25/04/2019 32.00
预期输出:
March 2019 91.00
April 2019 122.00
我对合计列所做的全部工作就是求和。 另外,我知道有人会问我为什么要为另一个应用程序分配substring(date_time),我需要时间,但是对于这个我只需要日期。
无论如何,我正在尝试使用MonthName函数并传递日期,但这仅适用于一个日期而不是范围。
谁能指出我正确的方向
答案 0 :(得分:0)
使用date_format()
函数
SELECT DATE_FORMAT(SUBSTRING(date_time,1,10),"%M %Y"), SUM(Total), sum(Total_ly))
FROM Transaction
WHERE Substring(date_time,1,10) between '01/03/2019' AND '04/04/2019'
Group By DATE_FORMAT(SUBSTRING(date_time,1,10),"%M %Y")
Having sum(Total)<>0