mysql查询显示行号

来源:互联网 发布:cmd 关闭端口 编辑:程序博客网 时间:2024/05/22 06:17

见:http://blog.csdn.net/muzizhuben/article/details/49449853



使用mysql查询显示行号,没有像oracle这么方便。
不过也可以通过设定变量显示行号,例如:

-- 生成 行号select @r:=@r+1 as rowno , a.* from  my_tb a ,(select @r:=0) b
同于:

  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