首页 > 数据库 >SQL中的distinct的使用方法

SQL中的distinct的使用方法

时间:2023-06-26 17:24:41浏览次数:32  
标签:解决办法 示例 distinct SQL 条数 字段 使用 方法

1. distinct含义与使用方法
distinct用来查询不重复记录的条数,即用distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段。

注意事项
distinct 【查询字段】,必须放在要查询字段的开头,即放在第一个参数;
只能在SELECT 语句中使用,不能在 INSERT, DELETE, UPDATE 中使用;
DISTINCT 表示对后面的所有参数的拼接取 不重复的记录,即查出的参数拼接每行记录都是唯一的
不能与all同时使用,默认情况下,查询时返回的就是所有的结果
2. 使用示例
示例1:只对一个字段查重:表示选取该字段一列不重复的数据


示例2:多个字段去重:表示选取多个字段拼接的一条记录,不重复的所有记录


示例3:改进示例2,输出的所有条数均按照distinc字段取单条(第一条)
1. 解决办法一: 使用 group_concat 函数

 

2. 解决办法二:使用group by函数

 

示例4:聚合函数中使用distinct:一般跟 COUNT 结合使用, count()会过滤掉null项


实际包含null项有4个记录,执行语句后过滤null项,计算为3。

示例一

示例二

解决办法1

解决办法2

示例4

 

标签:解决办法,示例,distinct,SQL,条数,字段,使用,方法
From: https://www.cnblogs.com/qiyangA/p/17506235.html

相关文章

  • MySQL---性能分析工具的使用
     数据库服务器优化的步骤  查看系统性能参数统计sql查询成本:last_query_cost定位执行慢的SQL:慢查询日志 开启慢查询日志查看当前是否开启慢......
  • VBA 连接SQLserver数据库抽数据
    PrivateSubmyy()'t1=TimerDimiAsLong,jAsLong,shtAsWorksheet'i,j为整数变量;sht为excel工作表对象变量,指向某一工作表,定义为Integer类型的话,变量值超过32767时会溢出'DimcnAsNewADODB.Connection'定义数据链接对象,保存连接数据库信息;请先添加ADO引用......
  • Python中进行字符串拼接的常用方法!
    在Pyhon编程语言中,字符串拼接是一种十分常见的操作,通常用于将文本片段连接起来形成一段完整的字符串,然而很多人在进行字符串拼接操作时不可避免地会遇到一些错误,那么该如何解决呢?以下是详细的内容:1、使用"+"号进行字符串拼接在Python中,使用"+"号进行字符串拼接是最常......
  • Linux系统中常见的CPU问题及其解决方法!
    Linux系统跟Windows系统在操作上,还是有很多不同之处的,有些刚开始使用Linux系统的小伙伴,常常会不知该如何操作,今天老男孩教育小编给大家讲解一下Linux系统常见的CPU问题及其解决方法,以下是详细的内容:1、频繁的CPU过载CPU过载是一种常见的问题,尤其是那些运行重负载应用程......
  • Django生成MySQL表的字段注释
    https://blog.csdn.net/Tomonkey/article/details/125382817 安装addcommentspipinstalladdcomments给model字段添加verbose_name属性age=models.SmallIntegerField(verbose_name="年龄",blank=True,default=None)settings.py中添加模块INSTALLED_APPS+=[......
  • mockito5.4.0单元测试(11) --do when家族的方法们:doReturn()|doThrow()| doAnswer()|
    mockito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#do_family_methods_stubs//mock一个对象HashMapmockMap=mock(HashMap.class);  doCallRealMethod方法示例://当mock对象调用put和size方法时,都调用真实的方......
  • Django生成MySQL表的字段注释
    1、安装addcommentspipinstalladdcomments2、确认model的verbose_name,如果需要添加注释,需要给字段添加verbose_name属性classStudent(models.Model):name=models.CharField(max_length=200,verbose_name="名称",blank=True,default=None)age=models.SmallInt......
  • redis配置和使用方法
    Redis配置和使用方法一、下载和环境配置1.下载Redis官网:https://github.com/tporadowski/redis/releases,根据本地电脑下载适配的压缩包。2.环境配置下载到本地后,解压到任意目录。进入文件内,复制地址添加到本地电脑的系统环境变量Path路径。二、Redis启动和连接1.启动Redis服务端打......
  • 基于C#自动调整pdf注释框的方法
    众所周知pdf注释框是无法随着文字大小而自动调整宽高的,因此在网上搜索了很多文章,但并没有找到好的方法,于是打算使用程序自己写代码进行调整。准备工作要想自动调整注释框,首先得知道每个注释框的宽高,以及所属字体,是否加粗等信息。所幸这些信息在pdf导出的注释文件(.xfdf)都......
  • Element-table表格末尾按指定列合计的实现方法
    getSummaries(param){const{columns,data}=paramconstsums=[]columns.forEach((column,index)=>{if(index===1){sums[index]='合计'return}constvalues=data.map(it......