SQL 語句實現排序問題!

2022-06-08 08:27:13 字數 1103 閱讀 1619

sql 查詢資料時按某列排序後增加排名列,需排名的列值相等時排名相同,即如需排名列陣列為:9,9,8,7,7,6     新增的排名列陣列需要顯示為兩種:   第一種:1,1,3,4,4,6 (這種排名方法應該是最普遍的排名方法啦) 或者   第二種:1,1,2,3,3,4 (某些特殊情況需要)

--現在假設測試資料:建立臨時表 #score 並插入資料

create

table #score(id int, points float

)--id 為學號和points為成績

insert #score select 1, 90

union

allselect 2, 85

union

allselect 3, 83

union

allselect 4, 85

union

allselect 5, 92

--測試得到上述第一種排名顯示,sql如下:

select

points,

(select

count

(1)+1 from #score where points>a.points)

as 排名

from #score a order

by 排名

--結果如下:

/* points 排名

92.0 1

90.0 2

85.0 3

85.0 3

83.0 5

*/--符合要求。

--測試得到上述第二種排名顯示,sql如下:

select

points,

(select

count

(distinct points)

+1 from #score where points>a.points)

as 排名

from #score a

order

by 排名

--結果

/* points 排名

92.0 1

90.0 2

85.0 3

85.0 3

83.0 4

*/--符合要求。

SQL語句實現多欄位排序

一 sql語句實現單字段降序 公升序 select a.from a order by a.id 預設情況下,一般是公升序 關鍵字公升序是asc,降序為desc 二 sql語句實現多欄位降序 select a.from a order by a.id desc,a.num desc 三 sql語句實...

關於SQL語句的排序問題

order by 語句用於對結果集進行排序,這裡對order by語句進行簡單的介紹 order by 語句用於根據指定的列對結果集進行排序。order by 語句預設按照公升序對記錄進行排序。如果您希望按照降序對記錄進行排序,可以使用 desc 關鍵字。例如 第一步 確定輸出內容,你要的字段為na...

SQL語句 ORDER BY排序

當查詢資料庫裡的資料時,為了使資料不那麼凌亂,我們可以對資料進行排序處理 排序格式 order by 字段預設公升序 order by 字段 asc公升序 order by 字段 desc降序 snos name gender ageheight speciality 1001張三男 181.78 ...