`

ORACLE distinct和rownum

阅读更多
distinct的只显示一次重复出更的值。

不管这个值出现多少次只显示一次。

select distinct 字段名1,字段名2 from 表格 order by 字段名1

最好和order by 结合使用。可以提高效率。

distinct 会对返回的结果集进行排序 所以会大大影响查询效率,大数据集时比较明显。

取非重复记录的前N条记录时,distinct会影响rownum的约束条件。

如果这样的话,我是这样写的:

select 字段1 from (select distinct 字段1,字段2 from 表 order by 字段2 desc) where rownum<N+1

先提取非重复记录,之后再提取前N条。
分享到:
评论

相关推荐

    oracle rownum和distinct

    "Oracle 中的 ROWNUM 和 DISTINCT" Oracle 中的 ROWNUM 和 DISTINCT 是两个非常重要的关键词,它们在查询数据时发挥着至关重要的作用。然而,许多开发者在使用这两个关键词时,却常常会遇到一些不太理解的地方,...

    oracle学习及练习语句

    Oracle提供了`DISTINCT`关键字去除查询结果中的重复行,而在`删除重复记录sql.txt`中,你可能看到如何使用`GROUP BY`和`HAVING`结合`MIN/MAX`函数,或者`MERGE`语句来删除重复记录。`oracle-merge.txt`文件则介绍了...

    Informix迁移至Oracle数据库的研究.pdf

    - DISTINCT关键字在Oracle中与LIMIT功能类似,可以结合ROWNUM来限制返回的行数。 - WHERE子句中的条件判断,Oracle通常使用代替,并且在处理日期和字符串时,可能需要调整比较运算符和格式。 5. **异常处理**: ...

    Oracle课件.pdf

    Oracle的伪列如ROWID和ROWNUM提供额外的功能,前者标识物理行位置,后者为行编号。Oracle的单行函数包括处理字符、数字、日期和转换的函数,还有其他实用函数如CONCAT(或||)进行字符串连接。分析函数允许对分组...

    Oracle删除表中的重复数据

    通过`ROWNUM`函数和子查询的方式,进一步保证了即使有多条记录在上述列上完全相同,也只会有一条被插入到临时表中。 3. **删除原表并重命名临时表**:最后,通过`DROP TABLE tlinkman;`和`ALTER TABLE tlinkman2 ...

    oracle第13讲使用视图、索引、序列和同义词[定义].pdf

    - **DELETE**:不允许在包含group by子句、分组函数、distinct关键字和rownum伪列的视图上执行。 - **UPDATE**:同样受限于以上条件,此外还包括使用表达式定义的列。 - **INSERT**:受限于group by、分组函数、...

    ORACLE转DB2对照全解

    **注意:** Oracle和DB2都支持使用`DISTINCT`关键字来去除重复值。 #### 十八、Null值转换 **Oracle:** ```sql SELECT NVL(col, default_val) FROM table; ``` **DB2:** ```sql SELECT COALESCE(col, default_...

    Oracle语句优化规则汇总

    4. **减少行处理**:通过LIMIT和ROWNUM限制返回的行数,尤其是在联接和子查询中。这能减少内存占用和处理时间。 5. **合理使用JOIN操作**:避免在JOIN操作中使用笛卡尔积,尽量减少JOIN的数量。使用INNER JOIN代替...

    Oracle_SQL优化规则

    7. **明智使用DISTINCT**:DISTINCT会增加处理负担,尝试通过GROUP BY和聚合函数来替换。 8. **适当使用集合函数**:SUM, COUNT等集合函数可能需要全表扫描,考虑是否可以使用分区函数或分组来减少计算范围。 9. *...

    oracle基本操作

    "Oracle基本操作" Oracle是一个功能强大且广泛应用的关系数据库管理系统,本文将详细介绍Oracle...本文只是对Oracle基本操作的一个简单介绍, Oracle还具有许多其他功能和特性,例如索引、视图、存储过程、触发器等。

    Oracle的sql语句练习题及参考答案

    9. **分页**:`LIMIT`和`OFFSET`在某些数据库系统中用于实现数据分页,但Oracle使用`ROWNUM`或`FETCH NEXT`结合`WITH TIES`来实现类似功能。 10. **动态SQL**:允许在运行时构建和执行SQL语句,增强了SQL的灵活性,...

    oracle 学习笔记

    Oracle数据库是一类关系型数据库管理系统(RDBMS),由美国Oracle公司开发。...学习Oracle数据库和SQL知识是一个逐步深入的过程,从最基础的数据库概念到高级的事务管理,每个知识点都需要认真掌握和实践。

    Oracle查询语句集锦

    7. **分页查询**:Oracle使用`ROWNUM`伪列实现分页,如`SELECT * FROM (SELECT * FROM table ORDER BY column) WHERE ROWNUM BETWEEN start AND end`,其中start和end是分页的起始和结束行号。 8. **索引优化**:...

    oracle ebs开发文档

    - **随机取前10条不同的记录**:通过组合使用 ROWNUM 和 SELECT DISTINCT 来实现。 - **TRUNC函数**:用于去除小数部分。 - **修改表的一些常用语法**:如 ADD、MODIFY 和 DROP 等,用于表结构的修改。 - **舍入函数...

    Oracle数据库分页

    在Oracle数据库中实现分页主要依靠`ROWNUM`伪列和子查询。 #### 二、ROWNUM伪列简介 - **定义**:`ROWNUM`是Oracle提供的一种特殊列,用于标识查询结果中的行编号。它从1开始计数,每一行都有一个唯一的`ROWNUM`值...

    Oracle数据库、SQL

    Oracle数据库和SQL是数据库管理和数据查询的核心工具。Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发,广泛应用于企业级数据管理。SQL(Structured Query Language)是用于操作数据库的标准语言,...

    Oracle自定义数据分页存储过程

    由于Oracle的限制,这个存储过程不适用于查询视图或包含`DISTINCT`、`GROUP BY`、`INNER JOIN`等子句的情况。如果需要处理这些复杂查询,可以考虑使用其他方法,如在应用程序层面处理分页,或者创建更复杂的存储过程...

    oracle表连接和子查询实例

    ### Oracle 表连接和子查询实例解析 #### 一、最大薪资部门的员工信息 **SQL语句**: ```sql SELECT ename, sal FROM emp JOIN (SELECT MAX(sal) max_sal, deptno FROM emp GROUP BY deptno) t ON (emp.sal = t....

    oracle删除重复数据的sql语句

    根据给定文件中的标题、描述、标签以及...综上所述,通过ROWID、GROUP BY和DISTINCT等多种方式,可以灵活有效地处理Oracle数据库中的重复数据问题。在实际应用中,可以根据具体需求选择合适的方法来优化数据库性能。

Global site tag (gtag.js) - Google Analytics