`

sql distinctt group by 分析

 
阅读更多
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。

示例1
select distinct name from A
示例2

select distinct name, id from A

实际上是根据“name+id”来去重,distinct同时作用在了name和id上

示例3:统计
select count(distinct name) from A;
select count(distinct name, id) from A; mysql 支持的
示例4
select id, distinct name from A;   --会提示错误,因为distinct必须放在开头

网上的一些测试结果;
加了索引之后 distinct 比没加索引的 distinct 快了 107倍。
加了索引之后 group by 比没加索引的 group by 快了 43倍。
再来对比 :distinct  和 group by
不管是加不加索引 group by 都比 distinct 快。因此使用的时候建议选 group by
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    分析MySQL中优化distinct的技巧

    通过对比新旧两种执行计划,可以看到改写后的SQL(`SELECT COUNT(*) FROM (SELECT DISTINCT(nick) FROM user_access) t`)的执行计划显示为`SIMPLE`,`table`类型为`range`,这表明它只需要扫描索引的一部分,而不是...

    T-sql编程 Sql程序编写

    同时,视图不能包含统计函数、DISTINCT或GROUP BY子句,且WITH CHECK OPTION的视图插入数据需满足条件。 2. **更新数据**:使用UPDATE语句通过视图更新基表数据,遵循与INSERT相似的限制。可以针对视图中的单个或多...

    SQL复杂SQL语句

    聚合函数如`AVG()`、`MAX()`、`MIN()`等,常与`GROUP BY`子句结合使用,对分组后的数据进行统计分析。 #### 示例3:嵌套查询与聚合函数 ```sql SELECT AVG(grade), deptno FROM ( SELECT sal, e2.grade, e1.deptno...

    SQL Server2005 技术内幕:T-SQL查询(笔记).docx

    SQL Server 2005 技术内幕...根据 ANSI SQL:1992 和 ANSI SQL:1999 的规定,如果指定了 Distinct 子句,那么 Order By 子句只能使用 Distinct 子句返回的虚拟表,甚至在未指定 Distinct 时 ANSI SQL:1992 也有此限制。

    sql 查询重复数据

    GROUP BY 重复字段 HAVING COUNT(*) > 1); ``` 删除重复记录 删除重复记录可以使用以下 SQL 语句: ```sql DELETE 表 WHERE 重复字段 In (SELECT 重复字段 FROM 表 GROUP BY 重复字段 HAVING COUNT(*) ...

    基于SQL语句的全样本数字化审计示例分析.pdf

    GROUP BY t.cl_desc ORDER BY t.cl_desc_sort, t.amtSum; ``` 此外,文章还提到使用PLSQL这一可视化工具编写SQL分析语句。PLSQL(Procedural Language/SQL)是Oracle数据库的扩展,提供了过程化编程能力。通过PLSQL...

    Microsoft SQL Server 2005技术内幕:T-SQL查询

    首先,书中会介绍T-SQL的基础知识,包括SELECT语句的结构和用法,用于获取数据的FROM、WHERE、GROUP BY和HAVING子句,以及ORDER BY和DISTINCT关键字。这些基本概念是所有复杂查询的基础,对理解数据检索至关重要。 ...

    T-SQL语句执行的顺序

    在SQL语言中,T-SQL(Transact-SQL)是微软SQL Server数据库管理系统所使用的扩展SQL语法。了解T-SQL语句的执行顺序对于优化查询性能和编写更高效的代码至关重要。以下是对标题和描述中所述知识点的详细说明: 1. *...

    SQL面试题目-sqlServer

    这些题目涵盖了基本的 SQL 语句、数据处理、数据分析等方面的知识。 题目 1: 用一条 SQL 语句查询出每门课都大于 80 分的学生姓名 答案:select distinct name from table where name not in (select distinct ...

    自己开发整理的T-SQL语句

    根据提供的标题、描述以及部分T-SQL代码内容,我们可以总结出以下重要的T-SQL知识点: ### 1. 数据定义语言(DDL) 数据定义语言主要用于创建、修改或删除数据库中的对象。 - **`CREATE TABLE`**: 创建一个新的表...

    Sql经典练习题库(附答案)

    SELECT STUDENT.S#, STUDENT.SNAME FROM STUDENT JOIN SC ON STUDENT.S# = SC.S# WHERE SC.C# IN ('0001', '0002') GROUP BY STUDENT.S#, STUDENT.SNAME HAVING COUNT(DISTINCT SC.C#) = 2; ``` **解析**:通过GROUP...

    SQL Server T-SQL高级查询

    ### SQL Server T-SQL高级查询知识点 #### 1. SELECT语句基础 - **查询所有数据**:使用`SELECT * FROM table_name`来查询指定表的所有数据。 - **过滤重复数据**:使用`DISTINCT`关键字来返回唯一不同的值。 - **...

    SqlServer 2005 T-SQL Query 学习笔记(1)

    在SQL Server 2005中,T-SQL(Transact-SQL)是用于操作数据库的主要编程语言。本文主要探讨了T-SQL查询中的几个关键概念,包括`SELECT`语句、嵌套查询、多重引用、Common Table Expressions (CTE)以及如何使用CTE...

    ORACLE和SQL Server的语法区别

    本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle数据库系统迁移至SQL Server平台的用户来说,这些知识尤...

    sql 语句的笔试题

    SQL语句:select * from (select name, year b1, lead(year) over (partition by name order by year) b2, lead(m,2) over(partition by name order by year) b3,rank()over( partition by name order by year) rk ...

    T-SQL语言参考.doc

    其完整格式通常包含SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等关键字。例如: ``` SELECT * FROM Table WHERE Condition; ``` 其中,“*”表示选择所有列,“Table”是要查询的表名,“Condition”...

    SQL Server视频教程(以2000为例,结合使用范例,深入浅出,图文并茂)

    本章的学习目标是让学生掌握如何使用T-SQL语句来操作数据库中的数据,包括但不限于数据库和表的操作,SELECT语句的基本结构,以及如何使用GROUP BY和ORDER BY子句,以及汇总函数的应用。 首先,SQL语言是数据库操作...

    sql查询重复记录方法大全

    GROUP BY Title); ``` **解析**: - 使用子查询找到每个`Title`对应的`MAX(ID)`。 - 外层查询筛选出`ID`属于这些最大值的记录。 - 这种方法可以用于只保留每组中的一条记录。 #### 方法三:删除具有重复值的记录 ...

    T-sql简单介绍

    根据提供的文件信息,我们可以从中提炼出关于T-SQL的一些关键知识点。T-SQL是Microsoft SQL Server使用的SQL方言,它在标准SQL的基础上增加了一些扩展功能,使其更加强大且灵活。以下是从标题、描述以及部分内容中...

    经典HiveSQL面试题.docx

    "经典HiveSQL面试题" 在这篇文章中,我们将讨论两个经典的HiveSQL面试题...这个SQL语句使用GROUP BY和ORDER BY子句来统计每个店铺访问次数top3的访客信息。 这两个问题展示了HiveSQL在数据分析和统计方面的强大功能。

Global site tag (gtag.js) - Google Analytics