!!!!!高分求解SQL文. 欢迎大家讨论,来者有分.

xiaobeibei 2002-09-11 10:36:10
有一个表T_1,两个项目:B,C,假设内容如下.C只有固定的"0"或"1"值
B C
2 0
4 1
3 0
4 0
5 1
3 1
我想达到这样的效果.先按照C升序排列.然后对C=0的项目.按照B升序排列.
对C=1的项目,按照B降序排列.也就是达到下面的效果.
B C
2 0
3 0
4 0
5 1
4 1
3 1

这个SQL文该怎么写.拜托各位了.
...全文
25 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
countach 2002-09-11
  • 打赏
  • 举报
回复
小弟也试了一下,虽然没有报错,但是却没有得到想要的结果。
zhaoyongzhu 2002-09-11
  • 打赏
  • 举报
回复
我的sql语句在8.1.7中测试过了,没有问题的。
8.0.5版本的oracle不支持在子查询中order by。恐怕你比较麻烦。

xiaobeibei 2002-09-11
  • 打赏
  • 举报
回复
以上的诸位朋友,先谢谢了.但是很不幸.
你们给的SQL都不能正常执行.
f_ky(毛蛋哥哥) 和 tomhuang(春城) ORA-00933
zhaoyongzhu(zhaoyongzhu) ORA-00907
上面是你们对应的错误码.
我用的是ORACLE8.05.是不是和这个有关系呢?


zhaoyongzhu 2002-09-11
  • 打赏
  • 举报
回复
select * from (select b,c from t_1 where c=0 order by b)
union all
select * from (select b,c from t_1 where c=1 order by b desc);
tomhuang 2002-09-11
  • 打赏
  • 举报
回复
SELECT * FROM T_1
where c=0 ORDER BY b
union
SELECT * FROM T_1
where c=1 ORDER BY b desc;
wumugulu 2002-09-11
  • 打赏
  • 举报
回复
SELECT * FROM T_1
where c=0 ORDER BY b
union
SELECT * FROM T_1
where c=0 ORDER BY b desc;
jiezhi 2002-09-11
  • 打赏
  • 举报
回复
good
xiaobeibei 2002-09-11
  • 打赏
  • 举报
回复
对qiuyang_wang(小数点) 佩服的五体投地
qiuyang_wang 2002-09-11
  • 打赏
  • 举报
回复
select b,c from T_1 order by decode(c,0,b,9999999 - b);
qiuyang_wang 2002-09-11
  • 打赏
  • 举报
回复
select b,c from aa order by decode(c,0,b,9999999 - b);
注意:其中的9999999是一个比较大的数,总之不能小于 b 的最大值,如果类型是不是数值型,只需做小小的改动即可。

17,086

社区成员

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

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