DISTINCT关键字理解
distinct关键字作为一种数据去重的手段,有如下使用方法:
- 对单个数据进行去重时:
select distinct name from members;
--这意味着从members表中取出去重后的name值
- 对多个字段进行去重时:
select distinct name,age from members;
--这意味着从members表中过滤掉name + age相同的值
--同样意味着,distinct这个关键字不能在同时查询两个及以上字段的时候,只过滤一个字段,而考虑其他的字段
- distinct与count()函数相结合的方法:
select count(distinct name) from members;
--这意味着从members表中查询过滤后的name的总数
select age,count(distinct name) from members group by age;
--这样也是可以的,distinct只作用于name字段,意味着从按age分组后的每个age对应的去重后name的总数
- distinct用在所有字段之前:
select distinct name,age from members;
--这种情况是对的
select name,distinct age from members;
--这种MySQL中会报语法错误
- 如果想对两个字段中的一个去重,而另外一个不去重的替代方法:
select name,age from members where name in (select distinct name from members);
--这种子查询可以对两个字段中的一个去重,而另外一个不去重,效率较低
- 代替DISTINCT作用的其他方法举例:
1.
用group by 代替。select name from members group by name;
2.
定义字段的时候用unique声明唯一值
DISTINCT关键字理解相关推荐
- MySQL数据库中as和distinct关键字
1. as关键字 使用SQL语句显示结果的时候,使用 as 给字段起一个别名,使在屏幕显示的字段名具备良好的可读性. 1.1 使用 as 给字段起别名 select id as 序号, name as ...
- oracle distinct关键字过滤掉重复记录
为什么80%的码农都做不了架构师?>>> oracle distinct关键字过滤掉重复记录 distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回 ...
- MySQL带DISTINCT关键字的查询
很多数据表中,某些字段的数据存在重复的值 使用Select语句,查询gender字段 可以看出,结果8条记录中,有5条记录的字段值为na,有2条记录的值为nv. 查询student表中,gender字 ...
- mysql中distinct关键字,MySQL关键字Distinct的详细介绍
DDL Prepare SQL: ? Prepare Data: ? 查询数据如下图所示: 第一种情况,使用Distinct关键字,查询单列数据,如下图所示: 结果:对 name 字段进行去重处理,符 ...
- distenct oracle_Oracle的distinct关键字
distinct关键字用于从查询的结果集中筛选出唯一值的记录. 我们通过示例来介绍distinct关键字的用法. 一.生成测试数据 用以下SQL创建超女基本信息表(T_GIRL),插入一些测试数据. ...
- 面试官系统精讲Java源码及大厂真题 - 03 Java 常用关键字理解
03 Java 常用关键字理解 引导语 Java 中的关键字很多,大约有 50+,在命名上我们不能和这些关键字冲突的,编译会报错,每个关键字都代表着不同场景下的不同含义,接下来我们挑选 6 个比较重要 ...
- Oracle的distinct关键字
文章目录 一.生成测试数据 二.distinct示例 三.版权声明 distinct关键字用于从查询的结果集中筛选出唯一值的记录. 我们通过示例来介绍distinct关键字的用法. 一.生成测试数据 ...
- PostgreSQL 数据库中 DISTINCT 关键字的 4 种用法
文章目录 DISTINCT DISTINCT ON IS DISTINCT FROM 聚合函数与 DISTINCT 大家好,我是只谈技术不剪发的 Tony 老师.PostgreSQL 不但高度兼容 S ...
- 数据库中distinct关键字的使用
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只有用二重循环查询来解决,而这样对于一个数据 ...
最新文章
- 【每日一算法】二叉搜索树结点最小距离
- 使用Jupyter notebooks上传文件夹或大量数据到服务器 有解压缩ZIP
- 【Python】 linecache模块读取文件
- FreeMarker 一二事 - 静态模板的使用与生成
- String直接赋字符串和new String的区别
- 【帖子收藏】ansible 中的循环:with_file 和 with_fileglob
- 【C#】调度程序进程已挂起,但消息仍在处理中;
- 区块链系列教程之:比特币中的网络和区块链
- CJCMS系列---慢慢讲电子商务在项目中的实践之前言
- P4390 [BOI2007]Mokia 摩基亚 (CDQ解决三维偏序问题)
- 【前端就业课 第一阶段】HTML5 零基础到实战(五)基础元素
- 2、oracle数据库的用户和权限
- 10个工程师,9个不合格!!
- linux内核添加模块,linux中添加内核模块
- 解决ubuntu的firefox上网速度慢[转]
- 再论sklearn分类器
- 使用小波变换进行灰度图像的融合
- 私有化+国产化,这款安全可靠的知识管理系统超赞
- 看淡生死,弥争当下!
- linux dd iso 进度,linux小记:查看dd进度