1. 程式人生 > >Mysql對查詢結果添加序列號

Mysql對查詢結果添加序列號

pda rom mysql 理解 lec 查詢 color AS span

 set @rownum=0;      
 select  @rownum:=@rownum+1 as rownum,* from table1
:=和=的區別?
  1. "=",只有在set和update時才和:=一樣,賦值的作用,其它都是等於的作用。鑒於此,用變量實現行號時,必須用:=
  2. ":=",不只在set和update時時賦值的作用,在select也是賦值的作用。

如果明白了=和:=的區別,那麽也就理解了下邊的現象。

@num:=@num+1,:=是賦值的作用,所以,先執行@num+1,然後再賦值給@num,所以能正確實現行號的作用。

@num=@num+1,此時=是等於的作用,@num不等於@num+1,所以始終返回0,如果改為@num=@num,始終返回1了。mysql數據庫中,用1表示真,0表示假。

Mysql對查詢結果添加序列號