search
HomeDatabaseMysql Tutorialsql distinct使用方法

本文章来给各位朋友介绍distinct用法及distinct在使用过程中一些常用见问题总结,有需要了解distinct用法的朋友可参考参考。

 SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:
SELECT DISTINCT 列名称 FROM 表名称

如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

 代码如下 复制代码

SELECT DISTINCT Company FROM Orders


distinct 关键字失效的办法


用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外

distinct关键字会排序,效率很低。

distinct name from t1 能消除重复记录,但只能取一个字段,现在要同时取id,name这2个字段的值。
select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录
所以用distinct达不到想要的效果,用   可以解决这个问题。

例如要显示的字段为A、B、C三个,而A字段的内容不能重复可以用下面的语句:

 代码如下 复制代码
select A, min(B),min(C),count(*) from [table] where [条件] group by   A
having [条件] order by A desc

为了显示标题头好看点可以把select A, min(B),min(C),count(*) 换称select A as A, min(B) as B,min(C) as

C,count(*) as 重复次数

显示出来的字段和排序字段都要包括在group by 中
但显示出来的字段包有min,max,count,avg,sum等聚合函数时可以不在group by 中
如上句的min(B),min(C),count(*)
一般条件写在where 后面
有聚合函数的条件写在having 后面
如果在上句中having加 count(*)>1   就可以查出记录A的重复次数大于1的记录
如果在上句中having加 count(*)>2   就可以查出记录A的重复次数大于2的记录
如果在上句中having加 count(*)>=1   就可以查出所有的记录,但重复的只显示一条,并且后面有显示重复的次数-

---这就是所需要的结果,而且语句可以通过hibernate

下面语句可以查询出那些数据是重复的:
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1

将上面的>号改为=号就可以查询出没有重复的数据了。

例如

 代码如下 复制代码

select count(*) from (select gcmc,gkrq,count(*) from gczbxx_zhao t group by gcmc,gkrq having

count(*)>=1 order by GKRQ)

推荐使用:

select * from gczbxx_zhao where viewid in ( select max(viewid) from gczbxx_zhao group by

gcmc ) order by gkrq desc

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
mysql的DISTINCT怎么使用mysql的DISTINCT怎么使用Jun 03, 2023 pm 05:56 PM

mysql的DISTINCT的关键字有很多你想不到的用处1.在count不重复的记录的时候能用到比如SELECTCOUNT(DISTINCTid)FROMtablename;就是计算talbebname表中id不同的记录有多少条2,在需要返回记录不同的id的具体值的时候可以用比如SELECTDISTINCTidFROMtablename;返回talbebname表中不同的id的具体的值3.上面的情况2对于需要返回mysql表中2列以上的结果时会有歧义比如SELECTDISTINCTid,type

MySQL中的distinct与group by如何使用MySQL中的distinct与group by如何使用May 26, 2023 am 10:34 AM

先说大致的结论:在语义相同,有索引的情况下:groupby和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:distinct效率高于groupby。原因是distinct和groupby都会进行分组操作,但groupby可能会进行排序,触发filesort,导致sql执行效率低下。基于这个结论,你可能会问:为什么在语义相同,有索引的情况下,groupby和distinct效率相同?在什么情况下,groupby会进行排序操作?带着这两个问题找答案。接下来,我们先来看一下dist

解析SQL中使用distinct关键字解析SQL中使用distinct关键字Feb 18, 2024 pm 09:21 PM

SQL中distinct用法详解在SQL数据库中,我们经常会遇到需要去除重复数据的情况。此时,我们可以使用distinct关键字,它能够帮助我们去除重复数据,使得查询结果更加清晰和准确。distinct的基本使用方法非常简单,只需要在select语句中使用distinct关键字即可。例如,以下是一个普通的select语句:SELECTcolumn_name

oracle的distinct用法是什么oracle的distinct用法是什么Jul 11, 2023 am 09:35 AM

oracle的distinct用法是可以过滤结果集中的重复行,确保“SELECT”子句中返回指定的一列或多列的值是唯一的。其语法为“SELECT DISTINCT 列1,列2,列3... from 表名”,“distinct”会对返回的结果集进行排序,可以和“order by”结合使用,提高效率。

如何通过MySQL对DISTINCT优化来提高性能如何通过MySQL对DISTINCT优化来提高性能May 11, 2023 am 08:12 AM

MySQL是目前应用广泛的关系型数据库之一。在大数据量存储与查询中,优化数据库性能是至关重要的。其中,DISTINCT是常用的去重查询操作符。本文将介绍如何通过MySQL对DISTINCT优化来提高数据库查询性能。一、DISTINCT的原理及缺点DISTINCT关键字用于从查询结果中去除重复行。在大量数据的情况下,查询中可能存在多个重复值,导致输出数据冗余,

SQL中的distinct用法SQL中的distinct用法Jan 26, 2024 pm 03:14 PM

SQL中的DISTINCT是一个关键字,用于查询不重复的结果集,可以用于SELECT语句、COUNT聚合函数等语句中,基本语法为“SELECT DISTINCT column1, column2”,其中DISTINCT关键字放在SELECT关键字之后,紧随其后的是要查询的列名或表达式,中间用逗号分隔。

mysql踩坑之count distinct多列问题怎么解决mysql踩坑之count distinct多列问题怎么解决Jun 03, 2023 am 10:49 AM

复现的测试数据库如下所示:CREATETABLE`test_distinct`(`id`int(11)NOTNULLAUTO_INCREMENT,`a`varchar(50)CHARACTERSETutf8DEFAULTNULL,`b`varchar(50)CHARACTERSETutf8DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=latin1;表内测试数据如下,现在我们需要统计这三列去重后的列

SQL中distinct用法SQL中distinct用法Jan 25, 2024 am 11:52 AM

SQL中DISTINCT关键字用于从查询结果中去除重复的行,可以应用于SELECT语句中的一个或多个列,以返回唯一的值组合,使用方法为”SELECT DISTINCT column1, column2, ...“,DISTINCT关键字作用于所有指定的列,如果多列组合在一起产生了不同的结果,那么这些行也将被视为不同,并且不会被去重。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)