广告
返回顶部
首页 > 资讯 > 数据库 >SQL中关于distinct关键字的使用方法
  • 667
分享到

SQL中关于distinct关键字的使用方法

2024-04-02 19:04:59 667人浏览 薄情痞子
摘要

这篇文章主要介绍sql中关于distinct关键字的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在使用Mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有

这篇文章主要介绍sql中关于distinct关键字的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在使用Mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。所以我花了很多时间来研究这个问题,网上也查不到解决方案,期间把容容拉来帮忙,结果是我们两人都郁闷了

下面先来看看例子:

table

id name

1 a

2 b

3 c

4 c

5 b

库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。

比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。

select distinct name from table

得到的结果是:

name

a

b

c

好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

select distinct name, id from table

结果会是:

id name

1 a

2 b

3 c

4 c

5 b

distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。。。。。。。

我们再改改查询语句:

select id, distinct name from table

很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。。。。。。。

很麻烦吧?确实,费尽心思都没能解决这个问题。没办法,继续找人问。

拉住公司里一JAVA程序员,他给我演示了oracle里使用distinct之后,也没找到mysql里的解决方案,最后下班之前他建议我试试group by。

试了半天,也不行,最后在mysql手册里找到一个用法,用group_concat(distinct name)配合group by name实现了我所需要的功能,兴奋,天佑我也,赶快试试。

报错。。。。。。。。。。。。郁闷。。。。。。。连mysql手册也跟我过不去,先给了我希望,然后又把我推向失望,好狠哪。。。。

再仔细一查,group_concat函数是4.1支持,晕,我4.0的。没办法,升级,升完级一试,成功。。。。。。

终于搞定了,不过这样一来,又必须要求客户也升级了。

突然灵机一闪,既然可以使用group_concat函数,那其它函数能行吗?

赶紧用count函数一试,成功,我。。。。。。。想哭啊,费了这么多工夫。。。。。。。。原来就这么简单。。。。。。

现在将完整语句放出:

select *, count(distinct name) from table group by name

结果:

id name count(distinct name)

1 a 1

2 b 1

3 c 1

以上是SQL中关于distinct关键字的使用方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: SQL中关于distinct关键字的使用方法

本文链接: https://www.lsjlt.com/news/52375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL中关于distinct关键字的使用方法
    这篇文章主要介绍SQL中关于distinct关键字的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有...
    99+
    2022-10-18
  • SQL中distinct关键字的作用是什么
    在SQL中,DISTINCT关键字用于返回唯一不重复的记录。当在SELECT语句中使用DISTINCT关键字时,查询结果将只返回不重...
    99+
    2023-09-14
    SQL
  • 关于SQL查询语句关键字方法
    目录SQL常用的一些关键字1、distinct关键字2、使用计算列3、列的别名4、使用逻辑表达式5、使用between关键字6、使用in关键字7、使用like子句进行模糊查询8、转义字符escape的使用9、使用orde...
    99+
    2022-10-31
  • 关于java中final关键字的使用方法详解
    一、修饰类被final修饰的类不能被子类继承。//父类Animal public final class Animal{ private int age; //年龄 private String var; //品种 public...
    99+
    2015-04-20
    java final 关键字 使用方法 详解
  • SQL中关键字的使用示例
    这篇文章主要介绍了SQL中关键字的使用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。起别名在实际的项目中,有时候我们的表名、字段名过于复...
    99+
    2022-10-18
  • java关键字的使用方法
    本篇内容介绍了“java关键字的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在平时写代码的时候我们会经常用到void,我们都知道他...
    99+
    2023-06-19
  • SQL中distinct的使用方法
    这篇文章主要介绍“SQL中distinct的使用方法”,在日常操作中,相信很多人在SQL中distinct的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL中di...
    99+
    2022-10-18
  • php clone关键字的使用方法
    这篇文章主要介绍“php clone关键字的使用方法”,在日常操作中,相信很多人在php clone关键字的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php clone关键字的使用方法”的疑惑有所...
    99+
    2023-06-20
  • SQL的Merge关键字怎么使用
    这篇文章主要介绍“SQL的Merge关键字怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL的Merge关键字怎么使用”文章能帮助大家解决问题。Merge关键字是一个神奇的DML关键字。它...
    99+
    2023-06-27
  • Python中有哪些关键字及关键字的用法
    目录Python有哪些关键字1.and , or2.del3.from4.golbal5.with6.while, for…in…7.assert8.pa...
    99+
    2023-02-04
    python关键字用法 python关键字
  • Golang的关键字defer的使用方法
    目录核心思想defer链源码分析优化核心思想 在defer出现的地方插入了指令CALL runtime.deferproc,在函数返回的地方插入了CALL runtime.defer...
    99+
    2022-11-13
  • 关于C++中的static关键字的总结
    1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: 复制代码 代码如下...
    99+
    2022-11-15
    c语言 static
  • SQL Server中如何使用Apply关键字
    SQL Server中如何使用Apply关键字,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、概念介绍APPLy关键字是SQLServe...
    99+
    2022-10-18
  • SQL中关于rowcount的用法
    在SQL中,ROWCOUNT是一个系统变量,用于返回最后一个执行的SQL语句所影响的行数。它可以用于判断SQL语句的执行结果,以及在...
    99+
    2023-09-15
    SQL
  • C#中using关键字的使用方法示例
    目录1 :using 指令(命名空间)2 :using 语句(1 ):using (ResourceType Identifier = Expression ) State...
    99+
    2022-11-13
  • 详解java中private关键字的使用方法
    private 关键字中文就是私有关键字,那么到底要怎么使用呢?1、只能在同一类中访问class A { private String msg="Try to access the private variable outside ...
    99+
    2016-08-22
    java入门 java private
  • Java中关键字synchronized的使用方法详解
    synchronized是Java里的一个关键字,起到的一个效果是“监视器锁”~~,它的功能就是保证操作的原子性,同时禁止指令重排序和保证内存的可见性! public clas...
    99+
    2022-11-12
  • java中this与super关键字的使用方法
    java中this与super关键字的使用方法这几天看到类在继承时会用到this和super,这里就做了一点总结,与各位共同交流,有错误请各位指正~thisthis是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this...
    99+
    2023-05-31
    java this super
  • SQL INNER JOIN关键字的用法是什么
    SQL INNER JOIN关键字用于从多个表中选择符合条件的记录。它根据两个或多个表之间的共同列将数据进行匹配。 INNER JO...
    99+
    2023-10-11
    sql
  • SQL FULL JOIN关键字的用法是什么
    SQL FULL JOIN关键字用于将两个表中的所有记录都包含在结果中,无论是否有匹配的记录。它将返回一个包含左表和右表中所有记录的...
    99+
    2023-10-10
    SQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作