数据库去重复查询distinct

数据库去重复查询distinct

问:sql命令里面去掉重复值是使用distinct
  1. 答:DISTINCT关键字可从SELECT语句的结果中消除重复的行。如果没有指定DISTINCT,将返回所有行,包括重复的行。
    例如,如果选择ProductInventory中的所有产品ID时没有使用DISTINCT,将返回1069行。
    如果使用了DISTINCT,就可以消除重复的行,只查看唯一的产品ID:USEAdventureWorks;GOSELECTDISTINCTProductIDFROMProduction.ProductInventory此查询将返回432行。
    DISTINCT关键字可从SELECT语句的结果中除去重复的行。如果没有指定DISTINCT,那么将返回所有行,包括重复的行。
问:sql语句去重distinct方法是什么?
  1. 答:sql语句去重distinct方法是根据name和id两个字段来去重的。这种方式Access和SQLServer同时支持,返回的结果为两行,这说明distinct并非是对xing和ming两列字符串拼接后再去重的,而是分别作用于了xing和ming列。
    sql语句去重distinct特点
    distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的,例如假如表A有备注列,如果想获取ame,以及对应的备注字段想直接通过distinct是不可能实现的,但可以通过其他方法实现关于SQLServer将一列的多行内容拼接成一行的问题讨论。
    distinct这个关键字用来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
问:sql查询去掉重复记录
  1. 答:1、打开要去掉重复数据的数据库,这里新建一张含有重复数据的user表做示例,如下图所示:
    2、输入“select * from user where name in (select name from user group by name having count(name) > 1) ”sql语句,点击运行可以看到查询出了数据库中user表的重复数据。
    3、通过“delete from user where   name in (select name from user group by name  having count(name) > 1) ”sql语句删除姓名重复的数据。
    4、也可以通过“select distinct name from user”sql语句来去掉重复数据,这里去掉了张三的重复数据。
    5、通过“select distinct class from user”sql语句来去掉班级相同的重复数据,如下图所示:
数据库去重复查询distinct
下载Doc文档

猜你喜欢