数据库查询去掉重复

数据库查询去掉重复

问:SQL数据库查询去除重复的关键字是什么?
  1. 答:DISTINCT 关键字可从 SELECT 语句的结果中消除重复的行。如果没有指定 DISTINCT,将返回所有行,包括重复的行。例如,如果选择 ProductInventory 中的所有产品 ID 时没有使用 DISTINCT,将返回 1069 行。\x0d\x0a\x0d\x0a如果使用了 DISTINCT,就可以消除重复的行,只查看唯一的产品 ID:\x0d\x0a \x0d\x0aUSE AdventureWorks;\x0d\x0aGO\x0d\x0aSELECT DISTINCT ProductID\x0d\x0aFROM Production.ProductInventory\x0d\x0a\x0d\x0a此查询将返回 432 行。
问:sql中如何删除一个表中重复的记录?
  1. 答:sql中删除一个表中的重复记录可以采用如下步骤: 
    1、把a_dist表的记录用distinct去重,结果放到临时表中。
    select  distinct * into #temp from a_dist;
    2、把a_dist表的记录全部删除。
    delete  from a_dist;
    3、把临时表中的数据信息导进到a_dist表中,并删除临时表。
    insert  into a_dist select * from #temp;
    drop table #temp;
    扩展资料:
    SQL (结构化查询语言)是用于执行查询的语法。在数据库上执行的大部分工作都由 SQL 语句完成。SQL 语言包含用于更新、插入和删除记录的语法。
    增删改查指令构成了 SQL 的 DML 部分:
    SELECT - 从数据库表中获取数据
    UPDATE - 更新数据库表中的数据
    DELETE - 从数据库表中删除数据
    INSERT INTO - 向数据库表中插入数据
问:Mysql去掉重复数据的做法:distinct , group by。以及数据库的拓展
  1. 答:一张user表 中的name字段,里面有10个张三。我要只查询出一个张三。
    SQL: select distinct name from user
    如果还要查询出id
    SQL: select distinct name,id from user
    SQL :select name from user group by name
    group by理解:表里的某一个字段(比如:name) 当出现相同的数据时,group by就将这2条数据合二为一。name就显示一条 数据了。 但是name达到合二为一了,这2条数据的其他数据怎么办呢? 这时候需要配合聚合函数的使用。
    where条件:分组前的条件,配合任何关键字使用
    Having 条件:分组后的条件 (事后条件) ,只配合group by使用。having条件通常使用聚合函数
    SQL :select deptno,sum(sal) from emp group by deptno having sum(sal) > 9000;
    SQL: select deptno,count(*) from emp where sal >1000 group by deptno haing sum(sal) > 8000
    拓展:
    聚合函数定义:聚合函数对一组值进行计算并返回单一的值。(以下都属于聚合函数)
    count(*) : 不包括空值。返回对行数目的计数。计算出有多少行,多少条数据。
    count() : 包含空值。返回对数目的计数。计算表里有多少行,相当于多少条数据。
    sum() : 求和运算
    max(); 最大值
    min(): 最小值
    avg(): 平均值
数据库查询去掉重复
下载Doc文档

猜你喜欢