select min(a)||'-'||max(a),b (select a,b,row_number()over(partition by b order by a)-a rn from tablename) oth group by b,rn order by oth.a
那个order by子句是有问题的 select min(a)||'-'||max(a),b (select a,b,row_number()over(partition by b order by a)-a rn from tablename) oth group by b,rn order by min(a)
TO sbaz(万神渡劫) : 谢谢大哥解决了! 但再请教一下,下面的如何写: 现在有记录行为: 序号 名称 数量 1 A 1 2 A 2 3 B 4 4 B 4 5 A 5 6 A 5 7 D 10 8 D 10 想得到的结果为: 1-2 A 3 3-4 B 8 5-6 A 10 7-8 D 20 请问SQL语句如何写?谢谢大家!!!
select min(a)||'-'||max(a),b,sum(c) (select a,b,row_number()over(partition by b order by a)-a rn from tablename) group by b,rn
(select a,b,row_number()over(partition by b order by a)-a rn
from tablename) oth
group by b,rn
order by oth.a
select min(a)||'-'||max(a),b
(select a,b,row_number()over(partition by b order by a)-a rn
from tablename) oth
group by b,rn
order by min(a)
如果不要order by应该是可以过的吧。可能我order by有问题!
再就是这个语句是要在ORACLE 9I以上版本才能执行通过。
主要是楼主能看懂我处理的思路就好。
谢谢大哥解决了!
但再请教一下,下面的如何写:
现在有记录行为:
序号 名称 数量
1 A 1
2 A 2
3 B 4
4 B 4
5 A 5
6 A 5
7 D 10
8 D 10
想得到的结果为:
1-2 A 3
3-4 B 8
5-6 A 10
7-8 D 20
请问SQL语句如何写?谢谢大家!!!
(select a,b,row_number()over(partition by b order by a)-a rn
from tablename)
group by b,rn