首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

一个排序的sql解决思路

2012-10-16 
一个排序的sqlSQL code字段idcol1col21342556634433查询结果降序排列,按照col1和col2中大的那个值排序,也

一个排序的sql

SQL code
字段id   col1  col21     3     42     55    663     44    33

查询结果降序排列,按照col1和col2中大的那个值排序,也就是order by max(col1,col2),就是这个意思,不知道各位看的明白不~~~

[解决办法]
[code=SQL]
select id,col1,col2
from t
 order by greatest(col1,col2);
--最小用 least
[code]
[解决办法]
SQL code
with t(id,col1,col2) as(select 1,3,4 from dualunion all select 2,55,66 from dualunion all select 3,67,33 from dualunion all select 4,1,77 from dualunion all select 5,2,76 from dual)select * from t order by (case when col2>col1 then col2 else col1 end);
[解决办法]
探讨
SQL code


select id,col1,col2
from t
order by greatest(col1,col2);
--最小用 least

[解决办法]
select * from table order by (case when col2>col1 then col2 else col1 end);
试下这个。。
[解决办法]
探讨
select * from table order by (case when col2>col1 then col2 else col1 end);
试下这个。。

[解决办法]
探讨
SQL code


select id,col1,col2
from t
order by greatest(col1,col2);
--最小用 least

[解决办法]
探讨
[code=SQL]
select id,col1,col2
from t
order by greatest(col1,col2);
--最小用 least
[code]

[解决办法]
oracle里面 函数挺多的 要靠自己挖掘了 很多功能强大但是用到的比较少
[解决办法]
with t(id,col1,col2) as(
select 1,3,4 from dual
union all select 2,55,66 from dual
union all select 3,67,33 from dual
union all select 4,1,77 from dual
union all select 5,2,76 from dual
)
select * from t order by (case when col2>col1 then col2 else col1 end);

[解决办法]
探讨
SQL code


select id,col1,col2
from t
order by greatest(col1,col2);
--最小用 least

热点排行