distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用
它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子: table表 字段1 字段2 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。 比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。 select distinct name from table
---------- name 好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧: select distinct name, id from table 结果会是: ---------- id name distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。。。。。。。 我们再改改查询语句: select id, distinct name from table 很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。 ------------------------------------------------------------------------------------------------------------ 下面方法可行: select *, count(distinct name) from table group by name 结果: id name count(distinct name) 最后一项是多余的,不用管就行了,目的达到。。。。。 group by 必须放在 order by 和 limit之前,不然会报错 |
发表评论
-
Oracle ITL(事务槽)
2013-07-10 10:14 2424ITL描述: ITL(Interested Transac ... -
【转】Oracle TM锁 TX锁
2013-05-12 23:42 1445转自RuleV5:http://blog.csdn.net/ ... -
【转】Oracle: sqlnet.ora、listener.ora、tnsnames.ora的配置
2013-05-07 22:29 902转自 http://blog.csdn.net/wenlel ... -
v$parameter, v$parameter2, v$system_parameter, v$system_parameter2, v$spparamete
2013-05-07 15:05 1322转自:http://blog.csdn.net/huang_ ... -
SQL 连接(左连接,右连接,全连接,内连接,交叉连接,自连接) (转)
2013-02-02 23:10 1033最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连 ... -
Oracle 回收站 (转)
2013-02-01 17:19 817我们都比较熟悉windows中的回收站,文件删除后放到回收 ... -
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
2011-03-13 14:02 747近日在配置Oracle 10G的 ... -
ORA-28000: the account is locked
2011-03-12 19:36 1806迁移项目,一切弄完后启动服务器,Hibernate报错:OR ... -
ORA-01578: ORACLE 数据块损坏 一种解决方案 (转)
2011-03-11 15:32 31474os: winxp db: 10g r2 错误提 ... -
oracle的备份与恢复 (转)
2011-03-11 14:28 1193oracle中的不使用rman的备 ... -
oracle 存储结构
2011-03-10 13:33 1840总体来说oracle的逻辑结构和物理结构是由块、区、段 ... -
pctused, pctfree, pctincrease , 行迁移 & 行链接 (转)
2011-03-09 19:48 1457关于pctincrease与空间 ... -
表空间管理 用户管理 日志文件管理
2011-03-08 14:09 8011、表空间管理和用户管理 --创建数据表 ... -
oracle initrans maxtrans
2011-03-07 10:35 4015initrans用于对数据块的行级并行操作的控制。首先介绍事 ... -
oracle analyze table(转)
2011-03-04 16:19 1540首先创建四个临时表t1 ... -
oracle 高水位线(转)
2011-03-04 14:30 2544高水位线实验: -- 创建test3表 SQL> cre ... -
Oracle SQL 优化 (转)
2011-03-03 15:16 705Oracle SQL的优化规则: 尽量少用IN操作符,基本上所 ... -
EXECUTE IMMEDIATE用法小解(转)
2011-03-03 14:33 666EXECUTE IMMEDIATE 代替了以前Oracle8i ... -
oracle float(b)(转)
2011-03-02 14:48 1174今天有人问我,他把字段类型设计成float(2)后,插入数 ... -
oracle10g PGA 管理(转)
2011-02-24 09:59 1613一、概述 SGA,PGA,UGA都是Oracle管理的 ...
相关推荐
在Oracle数据库中,`DISTINCT` 是一个非常重要的SQL关键字,用于从查询结果中去除重复的行。在本文中,我们将深入探讨`DISTINCT`的用法及其在不同情况下的应用。 首先,让我们看一个简单的例子。假设我们有一个名为...
在本例中,我们将通过创建一个名为`T_GIRL`的超女基本信息表,并插入一些测试数据来演示`DISTINCT`关键字的使用方法。 首先,我们创建了`T_GIRL`表,包含了超女的编号`id`、姓名`name`、颜值`yz`、身材`sc`、体重`...
完美解决distinct中使用多个字段的方法,完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法完美解决distinct中使用多个字段的方法
在 Oracle 中,通常使用 decode 或者 case 函数与聚合函数联合实现列转行功能。但是,这种方法存在一些缺陷,例如性能问题和数据重复访问问题。在本文中,我们将介绍一种新的解决方案,来解决 Oracle 列转行问题。 ...
本文将详细介绍几种在Oracle数据库中实现行转列的经典方法,并通过具体示例来展示这些方法的应用。 #### 一、使用SQL decode函数进行行转列 ##### 1. 实现思路 通过使用`decode`函数结合`sum`聚合函数可以实现行...
### ORACLE函数及其用法详解 #### 概述 Oracle是一种广泛使用的数据库管理系统,它提供了丰富的内置函数,这些函数能够帮助开发者和数据库管理员更高效地处理数据。本文将详细介绍Oracle中的一些常用函数及其应用...
### Oracle 行转列知识点详解 #### 一、Oracle 行转列概念及应用场景 在数据库操作中,经常需要对数据进行格式上的调整以便更好地分析或展示数据。其中,“行转列”是一种常见的数据处理方式,它指的是将原本存储...
通过本文的学习,我们了解了Oracle中的`WMSYS.WM_CONCAT`函数及其使用方法。这是一个非常实用的函数,能够帮助我们在处理复杂的数据转换时更加高效和方便。同时,我们也应该注意在使用过程中可能出现的一些问题,如...
第五种方法是使用 Distinct 语句来查询和删除重复数据。例如,下面的语句可以查询出表中无重复记录的结果集: ```sql select distinct * from tableName ``` 这种方法可以根据所有字段来判断重复记录,并返回无重复...
优化`DISTINCT`的一种方法是使用`GROUP BY`子句,它可以将相同的数据分组,然后对每个组进行聚合操作,例如计算数量或求和。在某些情况下,可以将`DISTINCT`转换为`GROUP BY`,并结合聚合函数如`COUNT()`,以达到...
- DISTINCT关键字在Oracle中与LIMIT功能类似,可以结合ROWNUM来限制返回的行数。 - WHERE子句中的条件判断,Oracle通常使用代替,并且在处理日期和字符串时,可能需要调整比较运算符和格式。 5. **异常处理**: ...
"Oracle 提高查询效率的方法" Oracle数据管理系统作为...提高 Oracle 查询效率需要从多方面考虑,包括优化 SQL 语句、创建合理的索引、选择合适的基础表、调整 WHERE 子句的顺序、避免使用 DISTINCT 和 ORDER BY 等。
- **使用EXPLAIN PLAN分析执行计划**:理解执行计划的各个部分,如访问方法、连接类型、排序操作等。 - **使用绑定变量**:避免全表扫描和提高查询效率。 - **避免不必要的排序和临时表**:优化GROUP BY、ORDER ...
本文将针对Oracle数据库的连接与使用方法,特别是针对初学者,进行详细讲解。 首先,我们关注的是sqlplus,它是Oracle提供的一个命令行工具,用于与数据库交互。sqlplus不仅适用于初学者,也深受经验丰富的DBA喜爱...
这篇指南主要涵盖Oracle数据库的基本查询操作,包括SQL语句的构造、算术表达式、列的别名、连接操作以及处理重复数据的方法。 1. **基本的SELECT语句**:在SQL中,`SELECT`语句用于从表中获取数据。`SELECT *`表示...
根据提供的信息,本文将详细介绍如何在Oracle数据库中将某个字段的多行记录转换为一行记录的方法。这种方法在处理大量数据时非常有用,特别是在需要将多个值汇总到一个字段中的场景下。 ### 标题理解:“oracle某个...
1. 作为分析函数,类似于 row_number()、rank()、dense_rank() 等函数,使用方法相似: LISTAGG(合并字段, 连接符) WITHIN GROUP(ORDER BY 合并字段的排序) OVER(PARTITION BY 分组字段) 2. 作为聚合函数,类似于 ...
#### 四、直接尝试收缩表空间的问题及解决方法 直接尝试收缩表空间时,可能会遇到错误ORA-03297:“文件包含在请求的RESIZE值以外使用的数据”。这是因为Oracle数据文件在有数据的情况下能够自动扩展,但无法自动...
- 若要检查表是否有重复值,可以使用`DISTINCT`关键字查询,或使用`GROUP BY`结合`HAVING`来查找。 8. **源码和工具** - 针对标签中的"源码",在实际开发中,创建和管理唯一性通常涉及SQL脚本或编程语言(如Java...