oracle中 order by 字段A,对于字段A的值相同的几条数据,是怎么排序的?
解决方案 »
- Linux 64bit 在 Linux 32bit 恢复以后,实例经常挂掉。版本是11.2.0.1
- 累计差相减,求SQL语句,在线等,请大家帮忙!!!!!!!!!!!
- Oracle初学者:win7上装了一个Oracle g11.之后试着连接,就遇到了ORA-12560: TNS: 协议适配器错误- Oracle
- oracle数据库的数据同步问题
- 建表问题
- 一个关于存储过程的问题(高分相赠,不够可以加)
- Access 区人太少,请教修改Access 一个表,为其增加一个字段的Dao 函数是什么?
- 关于表数据太大的问题,高分求解
- oracle的rownum解决分页查询问题???
- Oracle为什么数据更新比较慢?
- oracle 时间格式数据导入问题
- oracle临时表创建同时插入数据,是不行的?
from V$NLS_VALID_VALUES
where parameter='SORT'; parameter value isdeprecated
1 SORT BINARY FALSE
2 SORT WEST_EUROPEAN FALSE
3 SORT XWEST_EUROPEAN FALSE
4 SORT GERMAN FALSE
5 SORT XGERMAN FALSE
6 SORT DANISH FALSE
7 SORT XDANISH FALSE
8 SORT SPANISH FALSE
9 SORT XSPANISH FALSE
10 SORT GERMAN_DIN FALSE
11 SORT XGERMAN_DIN FALSE
12 SORT FINNISH FALSE
......
求出各科前3名
SELECT STUDENT_ID,NAME,COURSE,SCORE,RANK
FROM (SELECT STUDENT_ID,NAME,COURSE,SCORE,
ROW_NUMBER() OVER (PARTITION BY COURSE
ORDER BY SCORE DESC NULLS LAST) RANK
FROM SCORE)
WHERE RANK <= 3;
STUDENT_ID NAME COURSE SCORE RANK
---------- -------- ------ ---------- -----
2 喜羊羊 数学 100 1
3 机器猫 数学 80 2
4 蓝精灵 数学 80 3
1 灰太狼 语文 5 1
Oracle分析函数 朱元中
2013-01-17 page 21
ROW_NUMBER()
SELECT STUDENT_ID,NAME,COURSE,SCORE,
DENSE_RANK() OVER (PARTITION BY COURSE
ORDER BY SCORE DESC NULLS LAST) RANK
FROM SCORE;
STUDENT_ID NAME COURSE SCORE RANK
---------- -------- ------ ---------- -----
2 喜羊羊 数学 100 1
3 机器猫 数学 80 2
4 蓝精灵 数学 80 2
5 Darwin 数学 50 3
1 灰太狼 数学 4
1 灰太狼 语文 5 1
SELECT STUDENT_ID,NAME,COURSE,SCORE,RANK
FROM (SELECT STUDENT_ID,NAME,COURSE,SCORE,
DENSE_RANK() OVER (PARTITION BY COURSE
ORDER BY SCORE DESC NULLS LAST) RANK
FROM SCORE)
WHERE RANK <= 3;
STUDENT_ID NAME COURSE SCORE RANK
---------- -------- ------ ---------- -----
2 喜羊羊 数学 100 1
3 机器猫 数学 80 2
4 蓝精灵 数学 80 2
5 Darwin 数学 50 3
1 灰太狼 语文 5 1
SELECT STUDENT_ID,NAME,COURSE,SCORE,
RANK() OVER (PARTITION BY COURSE
ORDER BY SCORE DESC NULLS LAST) RANK
FROM SCORE;
STUDENT_ID NAME COURSE SCORE RANK
---------- -------- ------ ---------- -----
2 喜羊羊 数学 100 1
3 机器猫 数学 80 2
4 蓝精灵 数学 80 2
5 Darwin 数学 50 4
1 灰太狼 数学 5
1 灰太狼 语文 5 1
SELECT STUDENT_ID,NAME,COURSE,SCORE,RANK
FROM (SELECT STUDENT_ID,NAME,COURSE,SCORE,
RANK() OVER (PARTITION BY COURSE
ORDER BY SCORE DESC NULLS LAST) RANK
FROM SCORE)
WHERE RANK <= 3;
STUDENT_ID NAME COURSE SCORE RANK
---------- -------- ------ ---------- -----
2 喜羊羊 数学 100 1
3 机器猫 数学 80 2
4 蓝精灵 数学 80 2
1 灰太狼 语文 5 1