您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL中如何在选出的结果集中打印某条记录的位置

2024/5/1 9:33:44发布36次查看
在mysql中,有时候我们要选出n条记录,希望在结果中每条记录中加上一列标记该记录是第几条。 这个问题在oracle中,用rownum就可以
在mysql中,有时候我们要选出n条记录,希望在结果中每条记录中加上一列标记该记录是第几条。
这个问题在oracle中,用rownum就可以简单的实现,,但是在mysql中,怎么去实现呢?下面给大家举一个例子:
select t.page,t.pv,@rn:=if(1=1,@rn+1,@rn) as rn
from
(select
page,
pv 
from  
module_page_statis
where
statisday='2010-05-31' and module='new_info' order by 2 desc  limit 10) t, (select @rn:=0) t2
order by t.pv desc
这里略微解释下:
1,(select @rn:=0) 仅仅起到初始化的作用。
2,@rn:=if(1=1,@rn+1,@rn) 这一句是每选出一条记录出来,执行一次。当然这里面还可以填充更复杂的逻辑。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product