- 论坛徽章:
- 0
|
本帖最后由 leechee12 于 2017-02-22 23:35 编辑
oracle提取数据时遇到一个分组问题,尝试了很久也没有解决办法。如有以下表table_abc,表中有name、orderid和date字段。
rn列是我根据name进行分组,date进行倒序的结果,rn2是我根据name和orderid进行分组,date进行倒序的结果。
但是没有达到我想要的结果,我想只对在rn顺序的基础上,对彼此相邻的相同的name和orderid进行分组排序。
name orderid date rn rn2
aaaaa 33333333 20161127 1 1
aaaaa 33333333 20151127 2 2
bbbbb 55555555 20170118 1 1
bbbbb 55555555 20170117 2 2
bbbbb 77777777 20161018 3 1
cccccc 88888888 20171123 1 1
cccccc 88888888 20160123 2 2
cccccc 88888888 20151123 3 3
cccccc 99999999 20141123 4 1
cccccc 88888888 20131123 5 4
cccccc 88888888 20121123 6 5
也就是表中以下两部分应该是独立排列的,最后两行的rn2应该为1和2.
cccccc 88888888 20171123 1 1
cccccc 88888888 20160123 2 2
cccccc 88888888 20151123 3 3
-------------------------------------------
cccccc 88888888 20131123 5 1
cccccc 88888888 20121123 6 2
具体sql怎么写,才能在大数据量的情况下高效率的得出结果呢?
|
|