SQL 排序的N種方法

2021-06-26 11:27:49 字數 580 閱讀 9496

一、手工查詢得出名次

select * ,select count(*)+1 from t2 where t2.[成績]> t1.[成績] as 名次 from t1

結果: 

1 2

3 3

5 二、sql server 2005 的排序函式 row_number、rank、dense_rank

1.row_number

select *,row_number() over(partition by 分組列1,分組列2 order by排序1,排序2) from t

結果: 1

2 34 5

2.rank

select *,rank() over(partition by 分組列1,分組列2 order by 排序1,排序2)from t

結果: 1

2 33 5

3.dense_rank

select *,dense_rank() over(partition by 分組列1,分組列2 order by排序1,排序2) from t

結果: 1

2 3

3 4

退出迴圈的n種方法

退出迴圈的n種方法,你能想出幾種?1 增加變數,作為退出條件 bool dobreak false for dobreak 2 使用goto for for outer 3 使用return void do lots of work void 4 巢狀if語句 bool isterminated f...

排序的幾種方法

三種排序 選擇排序,氣泡排序,插入排序 的總結 1.選擇排序 1 public class demo3 遍歷排序前的數值 for int i 0 i num.length 1 i 如果最小值的標號未改變,代表本身已是最小值,否則交換數值 if min i 遍歷排序後的數值 for int i 0 i...

排序的幾種方法

三種排序 選擇排序,氣泡排序,插入排序 的總結 1.選擇排序 1 public class demo3 遍歷排序前的數值 for int i 0 i num.length 1 i 如果最小值的標號未改變,代表本身已是最小值,否則交換數值 if min i 遍歷排序後的數值 for int i 0 i...