- 浏览: 5028947 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (2844)
- java (1094)
- hadoop (37)
- jvm (39)
- hbase (11)
- sql (25)
- 异常 (83)
- div css (6)
- 数据库 (95)
- 有趣的code (15)
- struts2 (6)
- spring (124)
- js (44)
- 算法 (65)
- linux (36)
- hibernate (7)
- 中间件 (78)
- 设计模式 (2)
- 架构 (275)
- 操作系统 (91)
- maven (35)
- tapestry (1)
- mybatis (9)
- MQ (101)
- zookeeper (18)
- 搜索引擎,爬虫 (208)
- 分布式计算 (45)
- c# (7)
- 抓包 (28)
- 开源框架 (45)
- 虚拟化 (12)
- mongodb (15)
- 计算机网络 (2)
- 缓存 (97)
- memcached (6)
- 分布式存储 (13)
- scala (5)
- 分词器 (24)
- spark (104)
- 工具 (23)
- netty (5)
- Mahout (6)
- neo4j (6)
- dubbo (36)
- canal (3)
- Hive (10)
- Vert.x (3)
- docker (115)
- 分布式追踪 (2)
- spring boot (5)
- 微服务 (56)
- 淘客 (5)
- mesos (67)
- php (3)
- etcd (2)
- jenkins (4)
- nginx (7)
- 区块链 (1)
- Kubernetes (92)
- 驾照 (1)
- 深度学习 (15)
- JGroups (1)
- 安全 (5)
- 测试 (16)
- 股票 (1)
- Android (2)
- 房产 (1)
- 运维 (6)
- 网关 (3)
最新评论
-
明兜3号:
部署落地+业务迁移 玩转k8s进阶与企业级实践技能(又名:Ku ...
Kubernetes系统常见运维技巧 -
q328965539:
牛掰啊 资料收集的很全面
HDFS小文件处理解决方案总结+facebook(HayStack) + 淘宝(TFS) -
guichou:
fluent挂载了/var/lib/kubelet/pods目 ...
kubernetes上部署Fluentd+Elasticsearch+kibana日志收集系统 -
xu982604405:
System.setProperty("java.r ...
jmx rmi 穿越防火墙问题及jmxmp的替代方案 -
大漠小帆:
麻烦问下,“获取每个Item相似性最高的前N个Item”,这个 ...
协同过滤推荐算法在MapReduce与Spark上实现对比
ORACLE中用rownum分页并排序的SQL语句 ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: ?1 2 3 select * from (select t.*,rownum row_num from mytable t order by t.id) b where b.row_num between 1 and 10 结果发现由于该语句会先生成rownum 后执行order by 子句,因而排序结果根本不对,后来在GOOGLE上搜到一篇文章,原来多套一层select 就能很好的解决该问题,特此记录,语句如下: ?1 2 3 4 5 select * from (select a.*,rownum row_num from (select * from mytable t order by t.id desc) a ) b where b.row_num between 1 and 10 ==== 参考 ==== http://yangtingkun.itpub.net/post/468/100278 Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式: ?1 2 3 4 5 6 7 SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。 上面给出的这个分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM <= 40这句上。 选择第21 到40条记录存在两种方法,一种是上面例子中展示的在查询的第二层通过ROWNUM <= 40来控制最大值,在查询的最外层控制最小值。而另一种方式是去掉查询第二层的WHERE ROWNUM <= 40语句,在查询的最外层控制分页的最小值和最大值。这是,查询语句如下: ?1 2 3 4 5 6 SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A ) WHERE RN BETWEEN 21 AND 40 对比这两种写法,绝大多数的情况下,第一个查询的效率比第二个高得多。 http://www.javaworld.com.tw/jute/post/view?bid=21&id=52022&sty=1&tpg=1&age=-1 ?1 2 3 4 5 6 7 8 9 10 11 12 13 14 SELECT * FROM (SELECT A.*, rownum r FROM -- 這裡的SQL可以改成你真正要執行的SQL (SELECT * FROM Articles ORDER BY PubTime DESC ) A -- -- 用上面的SQL得回來的集合,使用rownum去比對,這樣rownum就會從這 個集合的第一筆資料開始往下計算,所以這邊是抓取前100筆 WHERE rownum <= 100 ) B -- B集合總共有A集合和r(rownum)的資料,這裡是抓取大於第90筆的 WHERE r > 90;
发表评论
-
MyBatis 使用 MyCat 实现多租户的一种简单思路
2017-11-20 18:27 2836本文的多租户是基于多数据库进行实现的,数据是通过不同数据库进 ... -
Mycat1.6之注解&多租户
2017-11-20 18:21 1236永久链接: http://gaojingsong.ite ... -
哪些SQL语句会引起全表扫描
2016-10-19 10:37 1432本文导读:大家都知道 ... -
Mysql实现split函数
2016-01-14 07:40 807一个朋友遇到点问题 ... -
MySQL中group_concat函数
2015-12-19 13:18 911本文通过实例介绍了MySQL中的group_conc ... -
JDBC事务控制管理
2015-12-13 00:54 12771、事务 (1)事务的概念 事务指逻辑上的一组操作, ... -
Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题
2015-08-26 09:41 779使用Mybatis的时候,有些时候能输出(主要是指sql, ... -
sql 解析器
2015-08-10 09:34 1612druid sqlparser JsqlParser ... -
Querydsl
2015-08-10 09:35 2665Querydsl是一个Java开源框架用于构建类型安全的S ... -
sqlite database browser的使用
2015-07-01 15:55 1864这几天在写一个程序,需要用到SQLITE,但是对于SQLI ... -
一个小时内学习 SQLite 数据库
2015-07-01 15:55 7001. 介绍 SQLite 是一个开源的嵌入式关系数据库 ... -
PostgreSQL导出导入
2015-02-13 16:38 3586整理了一下PostgreSQL导入导出相关schema的方 ... -
Grant: Postgresql 9.0 得到增强
2014-12-17 14:01 792Postgresql9.0 在 grant ... -
SQL找出重复数据只保留一条
2014-03-17 15:06 2005用SQL语句,删除掉重复 ... -
oralce split 函数
2013-12-06 00:22 971create OR REPLACE type Split_T ... -
Oracle中函数/过程返回结果集的几种方式
2013-12-03 16:36 1011Oracle中函数/过程返回结果集的几种方式: 以函 ... -
oracle中 procedure和function 区别
2013-12-03 13:52 10321、标识符不同。函数的标识符为FUNCTION,过程为:P ... -
plsql 导出 sql脚本
2013-12-03 09:25 950create table B_AIRCONDITIONING ... -
oracle 同义词
2013-11-26 17:30 8111. 同义词时表、索引、视图等模式对象的一个别名。oracl ... -
数据库设计 之设计 表字段类型
2013-11-26 16:46 998之前没有 数据库设计的一些经验。 这次数据库设计。由于需求 ...
相关推荐
在本项目中,JDBC驱动被用来建立Java与Oracle的连接,执行SQL语句,并处理查询结果。 5. **SQL(Structured Query Language)**: SQL是用于管理和处理关系数据库的标准语言。在这个项目中,你需要了解基本的SQL...
例如,Oracle中用ROWNUM伪列进行分页,而在MySQL中则使用LIMIT和OFFSET。 最后,了解和实践这个过程可以帮助我们更好地理解和比较两种数据库系统的特性,从而在实际工作中更高效地处理跨平台的数据迁移和管理任务。...
* 使用 SQL 语句写分页:在 SQLSERVER 中使用 TOP, 在 ORACLE 中用 ROWNUM 或分析函数 ROW_NUMBER。 * 使用存储过程写分页:在 ORACLE 中,要将过程封装在包里,还要用动态游标变量才能实现数据集的返回。 6. ...
通过JDBC,我们可以执行SQL语句,插入、更新和查询数据。 - **CRUD操作**:创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete),是数据库操作的基本动作。在留言本中,我们需要实现这些操作来管理留言。 3...
3. **查询分页**:INFORMIX和Oracle的分页查询方式可能不同,Informix可能使用游标,Oracle通常使用ROWNUM配合子查询实现分页。 4. **索引与约束**:检查并转换Informix的索引和约束到Oracle的相应结构,如唯一性...
例如,SQL中的`LIMIT`和`OFFSET`在MySQL中用于分页,而在Oracle中可能使用`ROWNUM`。 二、Java分页实现方式 1. 手动编写SQL:直接在SQL语句中嵌入分页参数,如`SELECT * FROM table LIMIT offset, limit`。这种方式...
5. 分页查询:SQL Server中用TOP,Oracle中用ROWNUM或分析函数ROW_NUMBER。例如: - SQL Server:`SELECT TOP 20, n.* FROM tablename n MINUS SELECT TOP 10, m.* FROM tablename m` - Oracle:`SELECT * FROM ...
- `NUMBER(p,s)`在Oracle中用于存储浮点数,而MySQL中对应的类型是`DECIMAL(p,s)`或`NUMERIC(p,s)`,它们都用于存储精确数值。 - `VARCHAR2`在Oracle中用于存储可变长度的字符数据,MySQL中的相应类型是`VARCHAR`...
- `VARCHAR2`在Oracle中用于存储可变长度的字符数据,而在MySQL中,对应的类型是`VARCHAR`。 - `DATE`在Oracle中表示日期和时间,但在MySQL中,可以使用`DATE`(仅日期)或`DATETIME`(日期和时间)。 2. **SQL...
- `VARCHAR2`在Oracle中用于存储可变长度的字符数据,MySQL中相应的是`VARCHAR`。 - `DATE`在Oracle中包含时间信息,MySQL中也有`DATE`类型,但通常配合`TIME`或`DATETIME`使用,后者包含日期和时间。 2. **语句...
2. **SQL语句写法差异**: - Oracle中字符串用单引号包围,而MySQL中可用单引号或双引号。 - MySQL在使用子查询时,如`FROM (SELECT...)`,需要在子查询后添加别名。 - 在删除数据时,MySQL不支持对表使用别名,...
SQL语句中的`LIMIT`和`OFFSET`子句在MySQL中用来实现这个功能,而在其他数据库系统中,如Oracle,可能使用`ROWNUM`或者`FETCH NEXT`。 3. **数据处理**:查询到的数据需要进行分割,以适应每页显示的数量。在Java中...
26. 分页实现方式:如Limit分页、RowNum分页、物理分页等。 27. 多表操作:在Hibernate中使用SessionFactory的openSession和Transaction,进行批处理。 28. 用户、角色、权限关系:通常采用三表设计,用户表、角色...