一个sql的问题(内附详细说明)

tjm1 2006-08-30 02:46:42
表数据如下:

月份 金额
......
200505 10
200512 20
200603 30
200607 10
......

比如200406-200505为一年,以此类推,200506-200605为一年,我想统计每年的汇总金额,形成如下结果(表的数据包括很多年月的):

年份 金额
2005 10
2006 50
2007 10

想用一条sql语句实现,怎么写?
...全文
165 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjm1 2006-08-30
  • 打赏
  • 举报
回复
牛!
xiaoxiao1984 2006-08-30
  • 打赏
  • 举报
回复
select to_char( add_months(to_date(月份,'yyyymm'),&tmonth),'yyyy'), sum(金额) from tab_name
group by to_char( add_months(to_date(月份,'yyyymm'),&tmonth),'yyyy')

调整成变量,至于往前推几个月楼主自己填就可以了
act_as_your_wish 2006-08-30
  • 打赏
  • 举报
回复
good!
tjm1 2006-08-30
  • 打赏
  • 举报
回复
如果以后改成本年1月到本年12月,上述语句也要考虑到这个问题
xiaoxiao1984 2006-08-30
  • 打赏
  • 举报
回复
楼主的意思是:2005年的汇总金额统计的是200406到200505月份的纪录,2006年的汇总金额统计的是200506到200605月份的纪录,相当于每年的开始日期都是上一年的6月份,每年的统计截至日期都是本年度的5月份,相当于往前推了7个月
tjm1 2006-08-30
  • 打赏
  • 举报
回复
没怎么看懂,能解释一下吗
xiaoxiao1984 2006-08-30
  • 打赏
  • 举报
回复
select to_char( add_months(to_date(月份,'yyyymm'),7),'yyyy'), sum(金额) from tab_name
group by to_char( add_months(to_date(月份,'yyyymm'),7),'yyyy')

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧