日期:2014-05-16  浏览次数:20921 次

结果 自动编号
我做了一个结果自动编号 但是他不受到order by的影响 所以编号排列不正确
怎么改呢。
代码
SQL code
select @row := @row +1 AS ROW ,ssqly,round(sum(if(ma12cj>0,1,0))/count(*)*100) as num from phome_ecms_ssq,( SELECT @row :=0 )r where classid=6 and riq between 12084 and 12090 group by ssqly order by num desc


输出结果
SQL code

ROW  ssqly  num  
1 飞流 100 
8 扶持 100 
6 欧迪 100 
4 山来 100 
2 天地 100 
7 安娜 100 
5 取点 100 
3 无用 100 
10 黑客 100 
9 替人 57 


他不是1-10的顺序排列 编号打乱了的

------解决方案--------------------
在外面包一层 


select *
from ()T
order by T.id desc
------解决方案--------------------
http://blog.csdn.net/acmain_chm/article/details/4095531
MySQL中的ROWNUM的实现
MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...