Select n1,n2,(n2-n1)*100.0/n1,(select count(*) from 表 where (n2-n1)*100.0/n1<=(a.n2-a.n1)*100.0/a.n1 )
from 表 a
order by (n2-n1)*100.0/n1 desc

解决方案 »

  1.   

    楼上的
    SELECT n1, n2, (n2 - n1) * 100.0 / n1 AS Expr1,
              (SELECT COUNT(*)
             FROM t1
             WHERE (n2 - n1) * 100.0 / n1 >= (a.n2 - a.n1) * 100.0 / a.n1) AS Expr2
    FROM t1
      

  2.   

    先生成临时表taT:
    SELECT n1, n2, (n2-n1)*100/n1 AS n3, ID_Num = IDENTITY (int, 1, 1)
              INTO taT
              FROM ta
              ORDER BY n3 DESC
    然后对临时表进行查询:
    SELECT * FROM taT
      

  3.   

    to txlicenhe(马可)
    没有按大小的顺序排,请您在看看,谢谢
      

  4.   

    SELECT a.n1, a.n2, (a.n2 - a.n1) * 100.0 / a.n1 AS Expr1,
              (SELECT COUNT(*)
             FROM t1 b
             WHERE (a.n2 - a.n1) * 100.0 / a.n1 <= (b.n2 - b.n1) * 100.0 / b.n1) AS Expr2
    FROM ta a
      

  5.   

    to szyhy810518() 
     (SELECT COUNT(*)
             FROM t1 b
             WHERE (a.n2 - a.n1) * 100.0 / a.n1 <= (b.n2 - b.n1) * 100.0 / b.n1) AS Expr2这句是什么意思呢?