SQL的最大值和添加月份不起作用

时间:2017-02-23 16:56:35

标签: sql oracle max dateadd

select maintance_action_date,add_months(maintenance_action_date,3) 
as Service_By 
from maintenance 
where bike_no = 1;

到目前为止,这个查询向我展示了自行车经过维修的所有时间,然后增加了3个月。但是我希望它显示最近的日期并添加三个月。任何人都知道我会怎么做。

2 个答案:

答案 0 :(得分:0)

只需使用max()功能:

select max(maintance_action_date),
       add_months(max(maintenance_action_date), 3) as Service_By
from maintenance
where bike_no = 1;

答案 1 :(得分:0)

您可以使用max()函数获取最近的日期

select max(maintance_action_date) ,add_months(max(maintenance_action_date),3) 
as Service_By 
from maintenance 
where bike_no = 1;

或尝试使用中介选择

select my_date, add_months(t.my_date,3) 
from ( 
    select max(maintance_action_date)  my_date 
    from maintenance 
    where bike_no = 1
    ) t