求按月查询 plsql语句 小弟正实现一个年报表.需要按时间字段统计每个月份的数据.请问plsql语句应该怎么写?比如,select * from myTable t where t.datetime = ?????????谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select sum(co1) from myTable group by to_char(datetime,'yyyymm') select to_char(datetime,'yyyymm') ,sum(col) from table where to_char(datetime,'yyyymm') between 200501 and 200512group by to_char(datetime,'yyyymm') 嗯,group by 月份 然后取相应字段的sum值就行了 谢谢各位热心的朋友。field: id datetime name num我的解决方案是:根据日期(月份)查到的结果。填充到一个数组里面。数组暂且这么表示 array12,name_len)num 。不知道有没有方法在SQL语句实现? 设DateTime列格式为2006-01-01(Varchar2)selectsubstr(datetime,1,4),sum(decode(substr(datetime,6,2),'01',num,0)),sum(decode(substr(datetime,6,2),'02',num,0)),sum(decode(substr(datetime,6,2),'03',num,0)),sum(decode(substr(datetime,6,2),'04',num,0)),sum(decode(substr(datetime,6,2),'05',num,0)),sum(decode(substr(datetime,6,2),'06',num,0)),sum(decode(substr(datetime,6,2),'07',num,0)),sum(decode(substr(datetime,6,2),'08',num,0)),sum(decode(substr(datetime,6,2),'09',num,0)),sum(decode(substr(datetime,6,2),'10',num,0)),sum(decode(substr(datetime,6,2),'11',num,0)),sum(decode(substr(datetime,6,2),'12',num,0)),from yourTablegroup by substr(datetime,1,4) 字段名称: id,datetime,name,num数据:1,200501,name1,12 2,200502,name2,1 3,200504,name2,4 4,200505,name2,1 5,200509,name2,7 6,200511,name2,6 7,200512,name2,1填充为: 1,200501,name1,12 2,200502,name1,0 3,200503,name1,0 4,200504,name1,0 .. 12,200512,name1,0 13,200501,name2,0 14,200502,name2,1 15,200503,name2,4 16,200504,name2,0 ..SQL可否做到? 对! zlz_212() 非常好!接分咯~ 大数据量迁移的问题 js的问题大家帮帮忙 如何让oracle中的日期增加一天 求一个sql语句写法!!! 有谁知道怎么获得当前日期是星期几? 谁了解pro*c的使用? 请问 oracle9i连接时出现的问题 高分相送-如何利用java调用存储过程 oracle转换java的时间戳 存储过程如何使用临时表? oracle里如何将一个表达式的结果赋给另一个变量!
group by to_char(datetime,'yyyymm')
where to_char(datetime,'yyyymm') between 200501 and 200512
group by to_char(datetime,'yyyymm')
field: id datetime name num
我的解决方案是:根据日期(月份)查到的结果。填充到一个数组里面。数组暂且这么表示 array12,name_len)num 。不知道有没有方法在SQL语句实现?
select
substr(datetime,1,4),
sum(decode(substr(datetime,6,2),'01',num,0)),
sum(decode(substr(datetime,6,2),'02',num,0)),
sum(decode(substr(datetime,6,2),'03',num,0)),
sum(decode(substr(datetime,6,2),'04',num,0)),
sum(decode(substr(datetime,6,2),'05',num,0)),
sum(decode(substr(datetime,6,2),'06',num,0)),
sum(decode(substr(datetime,6,2),'07',num,0)),
sum(decode(substr(datetime,6,2),'08',num,0)),
sum(decode(substr(datetime,6,2),'09',num,0)),
sum(decode(substr(datetime,6,2),'10',num,0)),
sum(decode(substr(datetime,6,2),'11',num,0)),
sum(decode(substr(datetime,6,2),'12',num,0)),
from yourTable
group by substr(datetime,1,4)
2,200502,name2,1
3,200504,name2,4
4,200505,name2,1
5,200509,name2,7
6,200511,name2,6
7,200512,name2,1
填充为:
1,200501,name1,12
2,200502,name1,0
3,200503,name1,0
4,200504,name1,0
..
12,200512,name1,0 13,200501,name2,0
14,200502,name2,1
15,200503,name2,4
16,200504,name2,0
..SQL可否做到?