文档章节

sql 中 distinct 去除重复 用法

 赵帅A
发布于 2016/03/03 13:09
字数 443
阅读 308
收藏 3

1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。

表A:

表B:

1.作用于单列 select distinct name from A 执行后结果如下:

2.作用于多列 示例2.1

select distinct name, id from A 执行后结果如下:

实际上是根据name和id两个字段来去重的,这种方式Access和SQL Server同时支持。

示例2.2

select distinct xing, ming from B 返回如下结果:

返回的结果为两行,这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的,而是分别作用于了xing和ming列。

3.COUNT统计 select count(distinct name) from A; --表中name去重后的数目, SQL Server支持,而Access不支持 count是不能统计多个字段的,下面的SQL在SQL Server和Access中都无法运行。

select count(distinct name, id) from A; 若想使用,请使用嵌套查询,如下:

select count(*) from (select distinct xing, name from B) AS M; 4.distinct必须放在开头 select id, distinct name from A; --会提示错误,因为distinct必须放在开头 5.其他 distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A有“备注”列,如果想获取distinc name,以及对应的“备注”字段,想直接通过distinct是不可能实现的。但可以通过其他方法实现关于SQL Server将一列的多行内容拼接成一行的问题讨论

© 著作权归作者所有

粉丝 2
博文 21
码字总数 11803
作品 0
乌鲁木齐
私信 提问
求指教,oracle的SQL优化问题

有一段SQL,大意是这样 整段执行需要3.5S 瓶颈在VIEW视图,单执行需要3S多 这个VIEW中,用了一个SELECT DISTINCT,由于DISTINCT引起了性能降低,在查看了数据和业务后发现DISTINCT是多余的,...

roywang
2012/11/09
118
2
SQL Server distinct子句

在SQL Server(Transact-SQL)中DISTINCT子句用于从结果集中删除重复记录。 DISTINCT子句只能和SELECT语句一起使用。 语法 在SQL Server(Transact-SQL)中DISTINCT子句的语法是: SELECT D...

易百教程
2016/08/10
18
0
mysql distinct 去除重复记录

虽然distinct是sql的一个语法,并不属于mysql,但此处以mysql举例。 用了那么多年的distinct,居然一直都是错的。一直以为distinct是去除重复的字段,原来它是去除重复的记录。 重复的记录是...

梧桐深院
2018/05/15
0
0
Oracle Union Union All 使用方法

Union 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你需要查询结果. 例如: SELECT Date FROM StoreInformation UNION SELECT Date FROM InternetSales 注意: union用法中,两个selec...

widely
2013/10/14
0
0
Sql server--数据查询

一 数据查询 1 其基本语法格式为 Select 字段列表 --⽤用于指定输出字段 [ INTO 新表 ] --将检索结果存储到⼀一个新的数据库表中 [FROM 数据源]--⽤用于指定检索的数据来源 [ WHERE 搜索条件...

Ethan-GOGO
2015/08/31
57
0

没有更多内容

加载失败,请刷新页面

加载更多

二进制位操作

单片机,或者一些模块的设置操作,都是由一个字节数据来完成,每位各有定义。就需进行位操作来组合需要的数字结果。 以JavaScript为例,编写位操作。 我们期望得到这样一个二进制数:0101101...

format
25分钟前
2
0
聊聊中国的通信行业:从“七国八制”到“中华”脊梁

本期文章和大家一起来聊一聊我曾经从事过的通信行业吧。最近各方面信息的泛滥,包括和华为的同学聊天,自己确实也感慨颇多。想想我自己本科主修通信工程,研究生再修信息与通信工程,从本科开...

CodeSheep
今天
6
0
MDK:ARM M451M:exceed the range of code meory, continue to erase or not?

问题: 代码空间超限 几天前就遇到:exceed the range of code meory, continue to erase or not? 如下所示: 解决过程 开始以为中MDK软件的128KB限制,如是就不能生成HEX文件,应该链接时有提...

SamXIAO
今天
1
1
OSChina 周六乱弹 —— 因违反《中华人民共和国治安管理处罚法》第四十四条之规定

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :#今日歌曲推荐# 惊艳分享谷微的单曲《安守本份》(@网易云音乐) 《安守本份》- 谷微 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
533
12
Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部