正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。
下面是乙個示例表的資料:
然後我們要根據 roll_no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。
如下面的**:
1
set
@counter=0;
2
3
select
@counter:=@counter+1
as
rank,lastname,roll_no
as
roll
from
students
order
by
roll_no
asc
;
執行該語句的結果如下:
更多關於自定義變數的內容請看 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+1
as
rank,lastname,roll_no
as
roll
from
students,(select @
counter
:=0) as t
order
by
roll_no
asc
;
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,...