oracle 中的 查询语句
select rownum no,name from shop_order
no  name
1   a
2   b
3   c
4   a请问 怎么改成mysql呢
就是自动产生顺序的排序 怎么改成mysql 求解决

解决方案 »

  1.   


    select (select count(1)+1 from shop_order where order_id<a.order_id) rownum,a.* from shop_order a;我用了这个方法 去自增长 相当于用变量 去增长
      

  2.   


    select (select count(1)+1 from shop_order where order_id<a.order_id) rownum,a.* from shop_order a;我用了这个方法 去自增长 相当于用变量 去增长
    量少还行  量多的话 这效率有问题
      

  3.   

    mysql> select * from tags;
    +-------+-------+
    | docid | tagid |
    +-------+-------+
    |     1 |     1 |
    |     1 |     3 |
    |     1 |     5 |
    |     1 |     7 |
    |     2 |     2 |
    |     2 |     4 |
    |     2 |     6 |
    |     3 |    15 |
    |     4 |     7 |
    |     4 |    40 |
    +-------+-------+
    10 rows in set (0.07 sec)mysql> set @num=0;
    Query OK, 0 rows affected (0.00 sec)mysql> select @num:=@num+1,docid,tagid from tags;
    +--------------+-------+-------+
    | @num:=@num+1 | docid | tagid |
    +--------------+-------+-------+
    |            1 |     1 |     1 |
    |            2 |     1 |     3 |
    |            3 |     1 |     5 |
    |            4 |     1 |     7 |
    |            5 |     2 |     2 |
    |            6 |     2 |     4 |
    |            7 |     2 |     6 |
    |            8 |     3 |    15 |
    |            9 |     4 |     7 |
    |           10 |     4 |    40 |
    +--------------+-------+-------+
    10 rows in set (0.01 sec)mysql>@num 就是rownum