今天寫一個為查詢的數據排序列號的SQL語句,整理出來下面的筆記:
這是語法:
1 SELECT (@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語句: 1 SELECT (@i:=@i+1),t2.phone,t2.name,t2.create_time FROM t_admin_copy_member t2,(SELECT@i:=0)AS j
執行結果:
2.若加個需求,按日期倒序排
SQL語句變為: 1 SELECT (@i:=@i+1),p.* 2 FROM ( 3 SELECT t2.phone,t2.name,t2.create_time FROM t_admin_copy_member t2 ORDER BY create_time DESC 4 )p,(SELECT@i:=0)k
執行結果: