在oracle获取记录行号使用rownum获取。
但是在mysql中查询显示行号就没这么方面了
方法如下:
SELECT @rowno:=@rowno+1 as rowno,r.* from t_article r,(select @rowno:=0) t
定义一个变量@rowno,让它的初始值为0,每有一行,数值加1。
然后按照你的需求的where条件,看是在当前sql内部或者外部添加@rowno。
注意:
直接在mysql中使用是没问题的,但是在hibernate下执行会报:Space is not allowed after parameter prefix ':'
原因是因为语句中有:= 需要转义\\:=
SELECT @rowno\\:=@rowno+1 as rowno,r.* from t_article r,(select @rowno\\:=0) t