oracle 排序

TDsfly 2012-05-10 04:31:15
假设数据如下:
ID DIV NUM
1 1 1
1 2 1
2 1 3
2 2 3
3 1 2
3 2 2

每个ID 下均有DIV 1,2
保持这样的格式,再以num排序

怎样得到如下结果
1 1 1
1 2 1
3 1 2
3 2 2
2 1 3
2 2 3

...全文
161 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
num不一样应该也没影响吧?
TDsfly 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
SQL code
--如果每一组内num的值都是相同的话,这个sql就可以了
select *
from t1
order by num,div
[/Quote]

num不一样的情况下,如何排序?
TDsfly 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code

with t1 as
(
select 1 id,1 div,1 num from dual
union all
select 1 id,2 div,1 num from dual
union all
select 2 id,1 div,3 num from dual
union all
……
[/Quote]

每一id中div1、div2对应的num不相同,在保证每一id对应两个div的顺序下,以div1的num进行排列,则如何呢?
槑党--一缕风 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:
num不一样应该也没影响吧?

是这样的,每个ID对应DIV1/DIV2 这个结构保持不变,DIV1/DIV2对应的num值不同,我想只以其中DIV1的值进行排序,而忽略DIV2的num值(也就是DIV2的num不参与到排序),请教下
[/Quote]

没看懂,
TDsfly 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
num不一样应该也没影响吧?
[/Quote]
是这样的,每个ID对应DIV1/DIV2 这个结构保持不变,DIV1/DIV2对应的num值不同,我想只以其中DIV1的值进行排序,而忽略DIV2的num值(也就是DIV2的num不参与到排序),请教下
lxyzxq2008 2012-05-10
  • 打赏
  • 举报
回复
--如果每一组内num的值都是相同的话,这个sql就可以了
select *
from t1
order by num,div
manbufenglin 2012-05-10
  • 打赏
  • 举报
回复
满足需求!
[Quote=引用 1 楼 的回复:]
SQL code


select *
from t1
order by num,div
[/Quote]
  • 打赏
  • 举报
回复

with t1 as
(
select 1 id,1 div,1 num from dual
union all
select 1 id,2 div,1 num from dual
union all
select 2 id,1 div,3 num from dual
union all
select 2 id,2 div,3 num from dual
union all
select 3 id,1 div,2 num from dual
union all
select 3 id,2 div,2 num from dual
)

select *
from t1
order by num,div

id div num
---------------------------
1 1 1 1
2 1 2 1
3 3 1 2
4 3 2 2
5 2 1 3
6 2 2 3

  • 打赏
  • 举报
回复

select *
from t1
order by num,div

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧