對結果集進行排序,排名值沒有間斷。 特定行的排名等於該特定行之前不同排名值的數量加一。語法:
dense_rank (
)over([
]< order_by_clause >
)
partition by 分組, order by 排序
舉例:學生成績表如下:
利用dense_rank(),按每門課程成績的高低進行排序,sql如下:
select dense_rank(
)over
(partition
by gc_no order
by gs_scoure desc
)a,*
from test.
[dbo]
.[grade]
結果如下:
從上述執行結果可以看出:
函式和rank()函式的相同點在於相同的成績排名相同,區別在於,之後的排序rank()是不連續的,dense_rank()是連續的。
mysql排序 函式dense rank的應用
給出stuinfo 學生資訊表 classinfo 班級資訊表 exams 考試成績表 統計 筆試成績 成績排名前3的學生!通過查詢,獲取各個班級 筆試成績 成績排名前3的學生,需要展示學號 姓名 年齡 班級序號 班級名稱 筆試成績等資訊,疊加 依次排序 我們可以一步一步的實現 1.學生取得班級資訊...
Oracle RANK和dense rank的使用
在9i版本之前,只有分析功能 analytic 即從乙個查詢結果中計算每一行的排序值,是基於order by clause子句中的value exprs指定欄位的。其語法為 rank over query partition clause order by clause 在9i版本新增加了合計功能 ...
排序 C sort函式排序
給定n個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 資料1 只有1個元素 資料2 11個不相同的整數,測試基本正確性 資料3 10 3個隨機整數 資料4 10 4個隨機整數 資料5 10 5個隨機整數 資料6 1...