**
我正在用 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 的文件 。
用一條sql搞定:
--也就是把臨時變數, 放在from 子句裡.
select @counter:=@counter+1 as rank,lastname,roll_no as roll from students,(select @counter:=0) as t
order by roll_no asc;
不用臨時變數, 用表的自關聯
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
為 MySQL 的查詢結果新增排名字段
我正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。下面是乙個示例表的資料 然後我們要根據 roll no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。如下面的 view source pri...
為 MySQL 的查詢結果新增排名字段
正在用 mysql 客戶端的時候,突然想到如果可以給查詢結果新增排名該多好啊,然後就找到了乙個簡單的解決辦法。下面是乙個示例表的資料 然後我們要根據 roll no 字段進行排序並給出排名,我們首先必須定義乙個初始值為0的變數,然後在查詢結果中使用這個變數。如下面的 1set counter 0 2...
mysql資料庫查詢如何新增排名序號
mysql中排序後根據排序的內容顯示序號,需要在子查詢中select rownum 0,只有外層的 rownum並不會起作用。select a.num,a.content,t.tagname,rownum rownum 1 as sortorder from select count as num,...