使用mysql查询显示行号

来源:互联网 发布:华为p10抽奖软件 编辑:程序博客网 时间:2024/05/20 17:39

使用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
   当然子查询也可以实现
select  
rownumber
  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的记录在第几行
 
原创粉丝点击