解决方案 »

  1.   

    select *,km1+km2 as nu from tt
    存为VIEW1SELECT *,(SELECT COUNT(*) FROM VIEW1 WHERE A.NU>NU) FROM VIEW1 A 
      

  2.   

    2楼正解,mysql没有oracle中的ronum,所以只能自己算。
    create view test.test_data_view as select d.id, d.km1+d.km2 val from test.test_data d ORDER BY val desc ;
    SELECT *,(SELECT COUNT(*)+1 FROM test.test_data_view WHERE A.val<val) rownum FROM test.test_data_view A ;