SQL多个字段如何去重
SQL语句为:select distinct telephone (属性) from test(表名)
因为号码有重复,所以以号码telephone来查询,配合distinct,使得查询结果不重复。
使用关键字:distinct 即可去重。
扩展资料:
选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
1、选择所有列
例如,下面语句显示testtable表中所有列的数据:
SELECT * FROM testtable
2、选择部分列并指定它们的显示次序
查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。
3、更改列标题
在选择列表中,可重新指定列标题。定义格式为:
列标题=列名 列名 列标题
如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable。
4、删除重复行
SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
5、限制返回的行数
使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。TOP命令仅针对SQL Server系列数据库,并不支持Oracle数据库。
参考资料来源:百度百科-结构化查询语言
sql命令里面去掉重复值是使用distinct
DISTINCT关键字可从SELECT语句的结果中消除重复的行。如果没有指定DISTINCT,将返回所有行,包括重复的行。
例如,如果选择ProductInventory中的所有产品ID时没有使用DISTINCT,将返回1069行。
如果使用了DISTINCT,就可以消除重复的行,只查看唯一的产品ID:USEAdventureWorks;GOSELECTDISTINCTProductIDFROMProduction.ProductInventory此查询将返回432行。
DISTINCT关键字可从SELECT语句的结果中除去重复的行。如果没有指定DISTINCT,那么将返回所有行,包括重复的行。
sql去重是什么意思?
SQL中,DISTINCT关键词表示去掉重复的行。
SELECT DISTINCT表示查询结果中,去掉了重复的行。在数据库表中,数据可能会包含重复值。有时用户希望仅仅列出不同(distinct)的值。可通过关键词DISTINCT用于返回唯一不同的值。如果要从 "Company" 列中选取所有的值,使用 SELECT 语句:SELECT Company FROM Orders。
扩展资料:
如果指定了SELECT DISTINCT,那么ORDER BY子句中的项就必须出现在选择列表中,否则会出现错误。
比如SQL语句:SELECT DISTINCT Company FROM Orders order by Company ASC是可以正常执行的。
但是如果SQL语句是:SELECT DISTINCT Company FROM Orders order by Num ASC是不能正确执行的,在ASP中会提示“ORDER BY子句与(Num) DISTINCT冲突”错误。
SQL语句修改成:SELECT DISTINCT Company,Num FROM Orders order by Num ASC可以正常执行。
SQL中distinct的用法是什么?
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(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将一列的多行内容拼接成一行的问题讨论
sql语句去重
sql语句通过DISTINCT关键字去重, 用于返回唯一不同的值。DISTINCT关键字需要搭配SELECT 语句使用,语法为SELECT DISTINCT 列名称 FROM 表名称。如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中,否则会出现错误。
扩展资料:
distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
distinct必须放在开头,distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。
在sql语言中去掉重复值的命令是
distinct。
SQLserver中很明显的去重复的语句是distinct。selectdistinct是去除重复的记录行,count(distinctColumn),消除重复值。还有一些不明显的具有去重功能的词,例如union,会去除重复的记录行或值。
以上文章内容就是对sql语句去重distinct和的介绍到此就结束了,希望能够帮助到大家?如果你还想了解更多这方面的信息,记得收藏关注本站。
标签: sql语句去重distinct