国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL如何自動為查詢數據的結果編上序號詳解

2024-07-24 12:50:49
字體:
來源:轉載
供稿:網友

前言

其實自己之前沒遇到過這種在查詢時給結果編號的情況,是同事打算跳槽,面試回來問到這種情況才想到去研究,以下以單表查詢為例分析下:

SQL:

SELECT (@i:=@i+1) i,user_id,user_name FROM `dt_user_all_orders`, (SELECT @i:=0) as i WHERE user_name='qqqqqqqqqq' LIMIT 0,10;

結果:

如果需要分組后再進行序號顯示:

SELECT drug_productor,@y:=@y+1 as num FROM( SELECT drug_productor FROM ts_drug a GROUP BY drug_productor) c,(SELECT @y:=0) d

結果:

分析:

在開始是定義一個變量i,讓它每增一條結果是➕1, @i:=1;

這里順帶復習下mysql定義用戶變量的方式:select @變量名

對用戶變量賦值有兩種方式,一種是直接用"="號,另一種是用":="號。其區別在于使用set命令對用戶變量進行賦值時,兩種方式都可以使用;當使用select語句對用戶變量進行賦值時,只能使用":="方式,因為在select語句中,"="號被看作是比較操作符

(@i:=@i+1)  也可以寫成 @i:=@i+1 ,加括號是為了視覺上看這結構更清楚些。在定義好一個變量后每次查詢都會給這個變量自增,而我們每次執行查詢語句獲取結果后就不需要這個變量自增了,所以要把它重置為0,在表名后用逗號分格下使用 (SELECT @i:=0) as i 就可以了,說下這個as i為什么要這樣用,是因為派生表必須需要一個別名,這個就是做它的別名,可以任意字符。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對錯新站長站的支持。

您可能感興趣的文章:

MySQL rownumber SQL生成自增長序號使用介紹
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 株洲市| 上蔡县| 于都县| 礼泉县| 临城县| 高陵县| 武陟县| 韶关市| 福贡县| 布拖县| 双辽市| 广宗县| 义马市| 林芝县| 哈尔滨市| 富源县| 陈巴尔虎旗| 祁连县| 乐清市| 友谊县| 普安县| 谷城县| 理塘县| 万全县| 化德县| 浦县| 仪征市| 鄂州市| 广汉市| 琼结县| 蒙山县| 织金县| 化隆| 虞城县| 松江区| 德化县| 大姚县| 崇州市| 芒康县| 唐河县| 彰化市|