Oracle去重函数distinct
distinct用于返回唯一不同的值。
表table1:
id | value |
1 | a |
1 | a |
2 | b |
3 | b |
4 | c |
5 | c |
表table2:
username | password |
tom | s123456 |
toms | 123456 |
表table3:
username | phone |
tom | 10086 |
jack | 10010 |
作用于单列
select distinct value from table1
执行结果如下:
value |
a |
b |
c |
作用于多列
例1:
select distinct id, name from table1
执行结果如下:
id | value |
1 | a |
2 | b |
3 | b |
4 | c |
5 | c |
通过这个例子可以看出,多列去重是根据写在distinct后面的各个字段来去重的(当这几个字段所有的列的值都相同时才会被认为是重复数据)。
例2:
select distinct username, password from table2
执行结果如下:
username | password |
tom | s123456 |
toms | 123456 |
执行结果为两行,这说明distinct是分别作用了username和password列,而不是把这两列的值“拼接”后再去重的。
多表查询
select distinct o.username from table2 o , table3 t where o.username = t.username ;
执行结果如下:
username |
tom |
此外还需要注意一下几点:
1.distinct必须放在开头,如果不放在开头会报错
select id, distinct value from table1; --会提示错误
2.多表查询时,如果表中有相同字段名,需指定是那张表的字段
select distinct username from table2 o , table3 t where o.username = t.username ; --会提示错误
3.COUNT统计单字段
select count(distinct value) from table1; --表中value去重后的数目
4.COUNT统计多字段
count是不能统计多个字段的,可以使用嵌套查询解决:
select count(*) from (select distinct username, password from table2) as t2;
如果这样查询:select count(distinct value, id) from table1;会报错
5.显示字段
显示的字段只能是distinct指定的字段
Oracle去重函数distinct相关推荐
- 去重函数distinct
distinct去重 函数在实际业务中还是很常用的. 1.select distinct job from emp;//去重相同的岗位 2.select ename.distinct job from ...
- Oracle的去重函数 distinct
原贴地址:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html#m0 SQL中distinct的用法 1.作用于单列 2.作用于 ...
- oracle去重函数
1.distinct (1).常用的distinct select distinct column from table; (2).统计去重后数量 select count(distinct colu ...
- Oracle去重查询实例
Oracle去重查询实例 今天工作中遇到了一个关于去重的查询,琢磨了半天,终于想明白了,这里简单记录一下. distinct函数 说到去重,可能第一反应就是distinct函数,但其实distinct ...
- oracle去重离子,oracle去重
oracle去重 create table tmp_table3 as (SELECT seqno FROM (SELECT t.seqno,ROWID, ROW_NUMBER() OVER(PART ...
- ORACLE去重总结
ORACLE去重总结 1.通过创建临时表 2.利用rowid 3.利用max或min函数 4.Group By方法(我经常所用的一种方法) ** 1.通过创建临时表 ** 可以把数据先导入到一个临时表 ...
- Oracle系统函数
系统函数 单行函数 数值函数 字符函数 日期函数 转换函数 ...
- Oracle分析函数——函数列表
--------------聚合函数 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算 ...
- 数据库编程1 Oracle 过滤 函数 分组 外连接 自连接
[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲>数据库编程1 Oracle 过滤 函数 分组 外连接 自连接本文实验基于的数据表:winso ...
最新文章
- 图像合成与风格转换实战
- python 技术篇-logging模块的日志定期清理设置,自动清理上个月的日志实例演示
- 001 从人物血量学习数据查找
- comparable和comparator比较
- JVM-程序计数器02
- 掌握Android中的进程和线程
- 如何使用纯CSS3来生成家谱(family tree)
- jquery复选框checkbox实现删除
- 对多线程程序,单核cpu与多核cpu如何工作相关的探讨
- 云计算更适合小公司的八条原因
- python中pyecharts 柱状图 折线图混用_pyecharts折线图和柱状图
- iOS UIKit基本概念
- 仿企查查php源码,企查查企业信息页面精简工具
- God--Ruby版的进程监控工具
- 通讯录教程】如何大批量导入手机号码到手机的通讯录,下面教你方法
- 名帖123 徐祯卿 小楷《为朱君募买驴疏》
- C/S构架和B/S构架
- OSChina 周二乱弹 —— 金 冈刂 犭良
- 分析wav音频结构实现音频截取、音频二倍速播放、倒播和音频合并(C#实现)
- c语言程序调试断点,VC6断点调试技巧