1. 程式人生 > 其它 >MySQL的(@i:=@i+1)用處及用法

MySQL的(@i:=@i+1)用處及用法

今天寫一個為查詢的資料排序列號的SQL語句,整理出來下面的筆記:

這是語法:

  1SELECT(@i:=@i+1),t.* FROM table_name t,(SELECT @i:=0) AS j

(@i:=@i+1)代表定義一個變數,每次疊加1;

(SELECT @i:=0) AS j 代表建立一個臨時表,j是隨便取的表名,但別名一定要的。

這裡有幾個案例:

  1.單表查

    執行SQL語句:1SELECT (@i:=@i+1),t2.phone,t2.name,t2.create_time FROM t_admin_copy_member t2,(SELECT@i:=0)AS j

    執行結果:

        

    2.若加個需求,按日期倒序排

      SQL語句變為:1SELECT (@i:=@i+1),p.*2FROM (3SELECT t2.phone,t2.name,t2.create_time FROM t_admin_copy_member t2 ORDER BY create_time DESC4)p,(SELECT@i:=0)k

      執行結果:

        

原網址:https://www.cnblogs.com/one-gril/p/11323759.html