oracle 的rownum 在mysql中怎么用 求解决

河东河西 2013-10-18 10:06:57
oracle 中的 查询语句
select rownum no,name from shop_order
no name
1 a
2 b
3 c
4 a

请问 怎么改成mysql呢
就是自动产生顺序的排序 怎么改成mysql 求解决
...全文
5401 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
珠海-天堂 2013-10-23
  • 打赏
  • 举报
回复
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
rucypli 2013-10-18
  • 打赏
  • 举报
回复
引用 2 楼 toudou2 的回复:
[quote=引用 1 楼 WWWWA 的回复:] 1、插入有自增字段的临时表中; 2、用变量; 3、如果有唯一标识的字段话,查询解决
select (select count(1)+1 from shop_order where order_id<a.order_id) rownum,a.* from shop_order a; 我用了这个方法 去自增长 相当于用变量 去增长[/quote] 量少还行 量多的话 这效率有问题
河东河西 2013-10-18
  • 打赏
  • 举报
回复
引用 1 楼 WWWWA 的回复:
1、插入有自增字段的临时表中; 2、用变量; 3、如果有唯一标识的字段话,查询解决
select (select count(1)+1 from shop_order where order_id<a.order_id) rownum,a.* from shop_order a; 我用了这个方法 去自增长 相当于用变量 去增长
WWWWA 2013-10-18
  • 打赏
  • 举报
回复
1、插入有自增字段的临时表中; 2、用变量; 3、如果有唯一标识的字段话,查询解决

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧