我的是MSSQL的;ORACEL我没用过;仅供参考
select ph,max(fdate)最大日期,min(fdate) as 最小日期,sum(amt)as taotal,
month(max(fdate))-month(min(fdate))-(case when day(max(fdate)) from yfc group by ph
select id,datediff(month,min(date),max(date)),sum(amt)
from 表名
group by id