MySQL Query在开始日期和结束日期之间获取日期数据

时间:2018-01-16 07:41:30

标签: mysql date

我有一个MySQL表,其中包含'startDate','endDate'和'amount'来表示开始日期和结束日期之间所需的金额。

我希望获得一个月内所有日期的日期记录。

table:
---------------------------------------
ID | STARTDATE  | ENDDATE    | AMOUNT |
---------------------------------------
1  | 2018-01-02 | 2018-01-04 | 1000   |
2  | 2018-01-03 | 2018-01-06 | 2000   |
...| ...        | ...        | ...    |
---------------------------------------

必填结果:

-------------------------
Date       | Total Amount
-------------------------
2018-01-01 | 0
2018-01-02 | 1000
2018-01-03 | 3000
2018-01-04 | 3000
2018-01-05 | 2000
2018-01-06 | 2000
2018-01-07 | 0
...        | ...
...        | ...
2018-01-31 | 0

结果应生成当月的日期列表,其中包含相应的总金额。

SQL查询应该是什么?

1 个答案:

答案 0 :(得分:-1)

您需要使用GREATEST()功能执行此任务,

SELECT
    AMOUNT, 
    GREATEST( STARTDATE, ENDDATE ) as Date       
FROM
   table
ORDER BY
    Date