请
登录
后使用快捷导航
没有帐号?
注册
登录
注册
快捷导航
首页
论坛
BBS
博客
技术栈
ITPUB学院
名人堂
版主团
搜索
高级搜索
热搜:
oracle
SAP
sap
二维码
dba
Oracle
c++
C++
CRM
银联信息中心
比特币
小额贷款
贷款
crm
ORACLE
项目管理系统
thread
android
python
java
本版
文章
帖子
用户
ITPUB论坛-专业的IT技术社区
»
论坛
›
≡ 大数据与数据库 ≡
›
Oracle数据库管理
›
如何按条件排序???
1
2
/ 2 页
返回列表
楼主:
hare
收藏
|
如何按条件排序???
[复制链接]
sonic
sonic
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
11
#
发表于 2005-1-19 22:20
|
只看该作者
不知道对不对:)
select t.* from z t
A B C
1 3 100
2 5 200
1 4 300
1 200
5 100
1 100
SELECT Nvl2(a, NULL, b) Z1, Nvl2(a, c, NULL) Z2, a, b, c
FROM z
ORDER BY Z1 DESC NULLS LAST , Z2 ASC
Z1 Z2 A B C
5 5 100
1 1 200
1 1 100
100 1 3 100
200 2 5 200
300 1 4 300
使用道具
举报
回复
显身卡
hare
hare
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
3
12
#
楼主
|
发表于 2005-1-19 22:29
|
只看该作者
我试试
使用道具
举报
回复
显身卡
hare
hare
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
3
13
#
楼主
|
发表于 2005-1-20 00:21
|
只看该作者
怎么我的结果不对
SQL> select * from test ;
A B C
--------- --------- ---------
1 2
3 4
1 4 5
8 6 7
SQL> select nvl2(a,c,b) as zz,a,b,c from test order by zz desc ;
ZZ A B C
--------- --------- --------- ---------
1 2
3 4
7 8 6 7
5 1 4 5
SQL> desc test;
列名 可空值否 类型
------------------------------- -------- ----
A NUMBER
B NUMBER
C NUMBER
SQL>
使用道具
举报
回复
显身卡
sonic
sonic
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
1
14
#
发表于 2005-1-20 20:56
|
只看该作者
你的结果是对的啊,你的ZZ的值是NULL,NULL,5,7 你再按ZZ DESC 排序当然是这样的结果了,你可以用NULLS LAST使空值排在最后。
使用道具
举报
回复
显身卡
rollingpig
rollingpig
当前离线
积分
101
IP卡
狗仔卡
论坛徽章:
131
15
#
发表于 2005-1-21 09:43
|
只看该作者
本身题目的要求就很怪。
至少要说明:
如果不同记录里既有A是null,又有A不是NULL,那么如何排序?
使用道具
举报
回复
显身卡
1
2
/ 2 页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
TOP
技术积分榜
社区积分榜
徽章
团队
统计
知识索引树
积分竞拍
文本模式
帮助
ITPUB首页
|
ITPUB论坛
|
数据库技术
|
企业信息化
|
开发技术
|
微软技术
|
软件工程与项目管理
|
IBM技术园地
|
行业纵向讨论
|
IT招聘
|
IT文档
ChinaUnix
|
ChinaUnix博客
|
ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有
联系我们
未成年人举报专区
京ICP备16024965号-8
北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
快速回复
返回顶部
返回列表