如何将下面这个Oracle语句转化成MySQL后,实现相同的功能:

mysql 做这个不用太难,主要是获取集合的自主编号有点技巧。一般构建自主编号集合的方式。(SELECT @rank:=0) B 就是这个了!select @rank:=@rank+1 as Ident,A.* from (-- 主要是这个子查询输出所要的有限数据就可以了,索引从零开始 select * from test.t_a limit 0,5 )A ,(SELECT ...
如何将下面这个Oracle语句转化成MySQL后,实现相同的功能:
我都不想回复你,知道理由么?
你这oracle 都不对。
你排序后rownum就变化了,这个是在排序前构建,所以编号不是连续的。
如下检索:注意排序编号。
select rownum,month,sell from sale order by month;
ROWNUM MONTH SELL
--------- ------ ---------
1 200001 1000
2 200002 1100
3 200003 1200
4 200004 1300
5 200005 1400
6 200006 1500
7 200007 1600
11 200008 1000
8 200101 1100
9 200202 1200
10 200301 1300
真正的oracle分页是先构建子查询排序好输出,然后附加rownum。mysql 也一个原理。
mysql 做这个不用太难,主要是获取集合的自主编号有点技巧。一般构建自主编号集合的方式。
(SELECT @rank:=0) B 就是这个了!

select @rank:=@rank+1 as Ident,A.* from
(
-- 主要是这个子查询输出所要的有限数据就可以了,索引从零开始
select * from test.t_a limit 0,5
)
A ,(SELECT @rank:=0) B
---
我的表是t_a
结果是:
Ident id name
'1', '0', '1'
'2', '1', '2'
'3', '3', '4'
'4', '5', '6'
'5', '7', '8'
--
自动编号有了,你只要把你要获得的查询变成子查询即可。传入起始行和页面条目大小。
结果类似:
select @rank:=@rank+1 as Ident,A.* from
(
-- 主要是这个子查询输出所要的有限数据就可以了,索引从零开始,mysql 目前还不支持动态 limit解析,一般传入的都是静态变量值
SELECT num,userid,name from yxy ordey by num limit ?,?
)
A ,(SELECT @rank:=0) B

以上是页间编号,如果要全纪录自主编号,把 limit 放入外部查询即可。2011-08-13
mengvlog 阅读 32 次 更新于 2025-09-11 03:48:51 我来答关注问题0
  •  宸辰游艺策划 关于oracle多表联合查询的语句如何写?

    为了实现多表联合查询,可以使用子查询和左连接的方式。下面是一个示例语句,用于从表a、b和c中获取bh和name字段,并计算每个表中对应的sl、sl1、sl2和sl3字段的值:首先,使用子查询从表a、b和c中选择bh和name字段,然后将这些结果合并到一个名为all_的临时表中:select all_.bh,all_.name,a....

  •  百度网友0319a0e oracle 怎样将select 语句的查询结果作为另一个select 语句where 后面的查询条件

    1、首先我们先看一下我们的这个表信息。2、接着我们使用创建查询的方法,来测试sql。3、select的where的条件查询格式:select 【所选字段列表】 from 【数据表名】 where 条件表达式。4、上面那个是查询表中年龄大于10的数据。5、当然如果你有多个条件也可以写,多个条件表达式。要是用and进行连接。and...

  •  好学者百科 oracle取前几条数据语句

    1、首先在oracle软件中,可以使用下面的 SELECT 语句:(其中%就是通配符,标识表达式>=1个字符)。2、使用其他的通配符的SQL语句如下图示。3、使用全通配符,就可以实现一个字符串是否包含包含某个字符串的查找了。4、通过使用not关键字可以使用不包含查找。5、最后在SQL中,可使用以下通配符,如下图所...

  •  斗帝炎熏儿 ORACLE 我将数据文件删除,表空间删除不了,请问高手,如何将表空间用下面的语句删除,谢谢

    第一,你的胆子不小,直接删除了数据文件。你的数据库也比较争气,居然正常运行。不过现在的数据库千万不能停,一旦停了,那么基本上是起不来的,会报有数据文件找不到。你可以实验一下,先把数据文件offline,如果offline不行,那么就删除表空间但是不删除数据文件,也就是不加后面的including参数。然后...

  •  文暄生活科普 Oracle for 循环 修改语句

    在Oracle数据库中,使用循环执行某些操作时,可能需要根据特定条件生成一系列数值或代码。例如,对于需要生成一系列行业分类代码的情况,可以使用查询来实现这一需求。下面的SQL语句演示了如何生成一系列行业分类代码:假设存在一个名为Dic_Industrycategory的表,其中包含行业分类信息。该表中有一个名为industry...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部