使用mysql查询显示行号,没有像oracle这么方便。
不过也可以通过设定变量显示行号,例如:
SELECT @rowno:=@rowno+1 as rowno,r.* from t_article r,(select @rowno:=0) t
用@rowno这自定义变量显示行号。
简洁而实用,
如果有按照某个字段排序,行号会不规则排列,换成先排序,外层加上行号会更加合适。
SELECT @ROWNO := @ROWNO + 1 AS ROWNO, T.* FROM (SELECT T.ARTICLE_TITLE, T1. NAME, T.ARTICLE_CREATEDATE FROM T_ARTICLE T LEFT JOIN T_ARTICLE_TYPE T1 ON T.TYPEID = T1. NAME WHERE T.ARTICLE_TITLE LIKE '%博士%' ORDER BY ARTICLE_CREATEDATE DESC) T, (SELECT @ROWNO := 0) T3 ORDER BY ROWNO
当然子查询也可以实现
selectrownumber
from
(SELECT @rowno:=@rowno+1 as 'rownumber',rank_bet.* from
(select @rowno:=0) t,rank_bet where rankinfoid=455 ORDER BY betcoins desc)
AS rowt where rowt.userid=1
查询rank_bet 表中 rankinfoid为455 按照betcoins排序倒序排序时userid为1的记录在第几行