问题描述
- 麻烦大家帮我想想,急用。。。谢谢
-
oracle数据库,表名daily__nm,表中有字段:日期dqt_date,期初数量dqt_c,期末数量dqt__e。要求查出每月最开始一天的期初数量,每月最后一天的期末数量
(表中日期字段数据:
一月:2015-01-30,2015-01-31,
二月 ~ 六月日期每天都有,
七月:2015-07-01 ~ 2015-07-13)
结果举例(注意1月的期初数量是30号和7月的期末数量是13号)
(
2015-01-30 期初数量 2015-01-31 期末数量
2015-02-01 期初数量 2015-02-31 期末数量
2015-03-01 期初数量 2015-03-31 期末数量
2015-04-01 期初数量 2015-04-31 期末数量
2015-05-01 期初数量 2015-05-31 期末数量
2015-06-01 期初数量 2015-06-31 期末数量
2015-07-01 期初数量 2015-07-13 期末数量
)
解决方案
解决方案二:
我记得Oracle里有关于时间的函数
解决方案三:
先选定年,再把月份分类,加上MAX和MIN函数就可以了
解决方案四:
select t.dqt_date,t.dqt_c,t.dqt__e from daily__nm t where t.dqt_date in(
select max(l.dqt_date) as m from daily__nm l group by to_char(l.dqt_date,'yyyy-MM')
union all
select min(l.dqt_date) as m from daily__nm l group by to_char(l.dqt_date,'yyyy-MM')
)
order by t.dqt_date;
希望对你有帮助
时间: 2024-09-12 21:44:36