Oracle中有一個僞列rownum,能夠在生成查詢結果表的時候生成一組遞增的序列號。MySQL中沒有這個僞列,可是有時候要用,能夠用以下方法模擬生成一列自增序號。sql
(1)sql示例:select (@i:=@i+5) as rownum, surname, personal_name from student, (select @i:=100) as init;blog
解釋: 上述sql中,紅色值爲自定義的初始序號,藍色值爲遞增規則,上述sql運行結果以下it
固然通常不會這麼用,簡單的從1開始遞增就行select
select (@i:=@i+1) as rownum, surname, personal_name from student, (select @i:=0) as init;方法
(2) 若是是多表聯查,跟上述sql相似,連查完後定義一個初始化序列號便可:im
select (@i:=@i+1) as rownum, A.surname, B.uname from student A查詢
left join user B on CONCAT(A.surname,A.personal_name) = B.uname, (select @i:=0) as init;img