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

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:15:08
字體:
來源:轉載
供稿:網友

前言

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

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;

結果:

mysql查詢結果加序號,mysql查詢數據帶序號,mysql,查詢結果序號

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

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 

結果:

mysql查詢結果加序號,mysql查詢數據帶序號,mysql,查詢結果序號

分析:

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

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

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

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

總結

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


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焉耆| 枞阳县| 宜州市| 枞阳县| 民勤县| 富源县| 雅安市| 洪江市| 绥芬河市| 鸡西市| 格尔木市| 库尔勒市| 阳新县| 琼中| 彭水| 丹棱县| 陇川县| 桓仁| 阿勒泰市| 宜州市| 宜阳县| 无锡市| 叶城县| 郓城县| 葵青区| 应城市| 宽城| 辽宁省| 长春市| 闽清县| 揭西县| 壤塘县| 丰宁| 甘洛县| 辰溪县| 顺义区| 鹰潭市| 三台县| 万全县| 来安县| 闸北区|