网上直接查询得到的大多是这篇博客给查询出的SQL记录添加序号列(转,很实用!)

上面的这个链接其实只适用于sql server2005

在mysql中的方法是下面这篇博客

mysql查询结果添加序列号

把博客中的内容粘贴一下

第一种方法:

select   (@i:=@i+1)   as   i,table_name.*   from   table_name,(select   @i:=0)   as   it 

第二种方法:

 

set @rownum=0;
select @rownum:=@rownum+1 as rownum, t.username from auth_user t limit 1,5;


  如果要按降序或者升序直接在语句的后面添加order by即可

select   (@i:=@i+1)   as   i,link.link_viewCount   from   link ,(select   @i:=0)   as   it order by link.link_viewCount desc

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

上面的的一条语句在mysql数据库中直接执行是没有任何问题的,但在项目中执行出现了点小毛病,老是报no database selected这个错,郁闷了个把钟头,最后才感觉是不是table的问题,果不其然,在table的前面加上数据库名问题即被解决。

http://learningviacode.blogspot.com/2013/04/sessioncreatesqlquery.html

http://blog.csdn.net/chenssy/article/details/7728431

Logo

更多推荐