oracle中能不能用SQL实现按照5的所有倍数分组 现遇到一难题,想实现线路表中的数据按照线路的投运年限统计,但是投运年限的间隔由用户输入。即要实现按照用户输入的投运年限的间隔把线路表中的所有数据进行分组,想了半天没想到合适的SQL,期待高手的解答,先谢了。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么分是不是1-5,6-10,11-15……这么分?如果是的话,可以group by ceil(col/5) 你好,我想实现的是如下统计结果:投运年限 条数0 1120005 1200010 13000015 14000020 15000025 6000030 50000而group by ceil(col/5) 只能实现如下结果:投运年限 条数0 91 2351 1881 331 1101 2302 1042 2962 2322 2082 2523 813 803 833 603 584 1024 744 624 814 655 355 765 645 445 366 436 26还是没有实现按照投运年限的间隔分组,能不能再帮忙想想先谢了啊 如果使用2年的话,是归为0还是5?试试下面的SQLselect 临时年限,sum(条数)from (select floor(年限/5)*5 临时年限 ,条数 from Table)group by 临时年限 如果使用2年的话,是归为0还是5?试试下面的SQLselect 临时年限,sum(条数)from (select floor(年限/5)*5 临时年限 ,条数 from Table)group by 临时年限 select ceil(投运年限/5)*5 ,sum(条数)from Tablegroup by ceil(投运年限/5)order by ceil(投运年限/5) 你好,问题已解决了,谢谢。不过用sum不如用count()统计方便吧? 我是这么写的,如下所示:select ceil((to_char(sysdate, 'yyyy') - to_char(XLXX.TYRQ, 'yyyy')) / 5) * 5, count(obj_id) from mw_app.mwt_ud_sbd_xlxx xlxx group by ceil((to_char(sysdate, 'yyyy') - to_char(XLXX.TYRQ, 'yyyy')) / 5) order by ceil((to_char(sysdate, 'yyyy') - to_char(XLXX.TYRQ, 'yyyy')) / 5) 一条有难度的sql oracle WIN7旗舰版64位 怎么安装 谁来帮忙写下效率高的SQL!!!!! 获取ODBC的所有用户表失败,高手看看是不是.NET2的BUG? PLSQL Developer如何配置调试 讨论:数据库建模工具 proc编译时候的联结错误?请帮忙! 十万火急,字符集错乱,急需解决: 考一个认证,要多少钱呀 根据部门分组,求出每个部门里面工资高于2000的百分比 一个PROCEDURE问题 oracle触发器的问题! 急!
如果是的话,可以group by ceil(col/5)
0 112000
5 12000
10 130000
15 140000
20 150000
25 60000
30 50000而group by ceil(col/5) 只能实现如下结果:投运年限 条数0 9
1 235
1 188
1 33
1 110
1 230
2 104
2 296
2 232
2 208
2 252
3 81
3 80
3 83
3 60
3 58
4 102
4 74
4 62
4 81
4 65
5 35
5 76
5 64
5 44
5 36
6 43
6 26
还是没有实现按照投运年限的间隔分组,能不能再帮忙想想先谢了啊
试试下面的SQL
select 临时年限,sum(条数)
from (select floor(年限/5)*5 临时年限 ,条数
from Table)
group by 临时年限
试试下面的SQL
select 临时年限,sum(条数)
from (select floor(年限/5)*5 临时年限 ,条数
from Table)
group by 临时年限
from Table
group by ceil(投运年限/5)
order by ceil(投运年限/5)
count(obj_id)
from mw_app.mwt_ud_sbd_xlxx xlxx
group by ceil((to_char(sysdate, 'yyyy') - to_char(XLXX.TYRQ, 'yyyy')) / 5)
order by ceil((to_char(sysdate, 'yyyy') - to_char(XLXX.TYRQ, 'yyyy')) / 5)