select maintance_action_date,add_months(maintenance_action_date,3)
as Service_By
from maintenance
where bike_no = 1;
到目前为止,这个查询显示我所有的时间,自行车已经过维护,然后增加3个月。不过,我希望它显示最近的日期并添加三个月。任何人都知道我会如何做到这一点。最大和增加月份的SQL不工作
select maintance_action_date,add_months(maintenance_action_date,3)
as Service_By
from maintenance
where bike_no = 1;
到目前为止,这个查询显示我所有的时间,自行车已经过维护,然后增加3个月。不过,我希望它显示最近的日期并添加三个月。任何人都知道我会如何做到这一点。最大和增加月份的SQL不工作
你可以使用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
说回这个 “ORA-00937:不是单组分组函数 00937. 00000 - ”不是一个单一群组功能“ *原因: *动作: 行错误:293列:8” –
@TommySmall答案更新...希望是有用的 – scaisEdge
是的,这是伟大的谢谢:) –
只需使用max()
功能:
select max(maintance_action_date),
add_months(max(maintenance_action_date), 3) as Service_By
from maintenance
where bike_no = 1;
回顾这个“ORA-00937:不是单组功能00937. 00000 - ”不是单组功能“*原因:*操作:错误在行:293列:8” –
@TommySmall。 。 。这个查询不应该产生那个错误。 'select'中没有未聚集的列。 –
你能添加一些示例数据? –
我的坏,不小心加了它。现在修好。 –