本帖最后由 xb6323269 于 2012-3-8 10:55 编辑
CREATE TABLE t(org_no VARCHAR2(9),ymd VARCHAR2(8),amt NUMBER(10));
INSERT INTO t VALUES('12345890','20120301','1');
INSERT INTO t VALUES('12345600','20120302','2');
INSERT INTO t VALUES('12345079','20120303','3');
INSERT INTO t VALUES('12346070','20120301','4');
INSERT INTO t VALUES('12346072','20120302','8');
INSERT INTO t VALUES('12346079','20120303','2');
INSERT INTO t VALUES('12346907','20120304','5');
INSERT INTO t VALUES('12347907','20120301','6');
SQL> select * from t;
ORG_NOYMD
AMT
--------- -------- -----------
1234589020120301 1
1234560020120302 2
1234507920120303 3
1234607020120301 4
1234607220120302 8
1234607920120303 2
1234690720120304 5
1234790720120301 6
8 rows selected
要求得到的结果:1234520120301 1
1234520120302 3
1234520120303 6
1234620120301 4
1234620120302 12
1234620120303 14
1234620120304 19
1234720120301 6
org_no是9位,要求是按substr(org_no,1,5)进行分组,再按ymd进行分组,求sum(amt).
按ymd排序,要求sum(amt)是从第一天到当前日期的amt总和。
|