為 MySQL 的查詢結果新增排名字段

2021-06-21 05:30:21 字數 1493 閱讀 1737

正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。

下面是乙個示例表的資料:

然後我們要根據 roll_no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。

如下面的**:

1set@counter=0;

2

3select@counter:=@counter+1asrank,lastname,roll_noasrollfromstudentsorderbyroll_noasc;

執行該語句的結果如下:

更多關於自定義變數的內容請看 mysql 的文件。

英文原文,oschina原創翻譯

紅薯發帖於 1年前

5回/2060閱

標籤:

oschina原創翻譯

0收藏(11)

0 浮生如斯

1年前

select (select count(roll_no) from students where s.roll_no <= roll_no) as rank, s.lastname, s.roll_no as roll from students s order by s.roll_no asc; o(∩_∩)o哈哈~ 這個不用自定義變數 不過好麻煩 不知道 mysql 有沒有 自增列的關鍵字 直接可以在查詢中生成乙個自增的那種 記得sqlserver 就有乙個( ⊙ o ⊙ )啊!

0八寶旗

1年前

1條sql搞定

select@counter:=@counter+1asrank,lastname,roll_noasrollfromstudents,(select @

counter

:=0) as t

orderbyroll_noasc;

0 mark35

1年前

pgsql,ora有視窗函式幹這活 

為 MySQL 的查詢結果新增排名字段

我正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。下面是乙個示例表的資料 然後我們要根據 roll no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。如下面的 view source pri...

為 MySQL 的查詢結果新增排名字段

我正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。下面是乙個示例表的資料 然後我們要根據 roll no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。如下面的 1set counter 0 ...

mysql資料庫查詢如何新增排名序號

mysql中排序後根據排序的內容顯示序號,需要在子查詢中select rownum 0,只有外層的 rownum並不會起作用。select a.num,a.content,t.tagname,rownum rownum 1 as sortorder from select count as num,...