oracle类型sql转为mysql_oracle 转为MySQL

SELECT CO.CUST_NO,CO.CONTACT_NAME, CO.PHONE,ROW_NUMBER() OVER(PARTITION BY CO.CUST_NO ORDER BY ROWNUM) AS CU FROM ERMAS_CONTACT CO

oracle 语句转为MySQL 求高手们帮帮忙

解决方案

15

--mssql 区,本人给你回复了

-- 给你写个例子,rownum 是你想要的结果,你本人研究一下;

mysql>

mysql> create table test(id int , name varchar(10)) ;

Query OK, 0 rows affected (0.01 sec)

mysql> insert into test(id, name) values(1,"qq");

Query OK, 1 row affected (0.00 sec)

mysql> insert into test(id, name) values(1,"aa");

Query OK, 1 row affected (0.00 sec)

mysql> insert into test(id, name) values(1,"zz");

Query OK, 1 row affected (0.00 sec)

mysql> insert into test(id, name) values(2,"tt");

Query OK, 1 row affected (0.00 sec)

mysql> insert into test(id, name) values(2,"yy");

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> set @x=0;

Query OK, 0 rows affected (0.00 sec)

mysql> set @id=0;

Query OK, 0 rows affected (0.00 sec)

mysql> select @x:= if(@id= id ,@x , 0) +1 as rownum, @id := id  as previd, t.*

-> from test t ;

+--+--+--+--+

| rownum | previd | id   | name |

+--+--+--+--+

|      1 |      1 |    1 | qq   |

|      2 |      1 |    1 | aa   |

|      3 |      1 |    1 | zz   |

|      1 |      2 |    2 | tt   |

|      2 |      2 |    2 | yy   |

+--+--+--+--+

5 rows in set (0.00 sec)

mysql>

mysql> drop table test ;

Query OK, 0 rows affected (0.00 sec)

mysql>

5

引用 3 楼 wmxcn2000 的回复:

假如顺序不对的话,可以先排序一次,再计算这个列

select …. from

(

select * from test order by id , name

)

PS:其实不用发两次帖子,让版主给你移动过来就可以了;

借宝贴回复一下。

create table test(id int , name varchar(10)) ;

insert into test(id, name) values(1,"qq");

insert into test(id, name) values(1,"aa");

insert into test(id, name) values(1,"zz");

insert into test(id, name) values(2,"tt");

insert into test(id, name) values(2,"yy");

select @x:= if(@id= id ,@x , 0) +1 as rownum_partitioned_by_id, @id := id  as previd, t.*

from test t,

(select @x:= 0, @id := 0) d

order by id;

许多有连接池的应用程序里,写多个sql和环境影响都比较麻烦。

所以把变量初始化写在同一个sql里就更方便了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明oracle 转为MySQL!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值