distinct的去重复的提前是表中所有列的数据完成相同时,才能把相同的数据只保留一条,并不是 distinct 列名,除去某一列相同的数据,并且 distinct要放在第一个列前面。案例如下:一个学生表如下:第一条记录跟第四条记录完成相同 第一条的性名列跟第二条相同。

现在除掉相同的姓名的数据,只保留一条。代码如下:

SELECT id AS "学号", IFNULL (age,0) AS "年龄", DISTINCT s.`name` AS "姓名", brithday AS "生日", s.`intsert_time` AS "插入时间"   FROM stu1 s ;结果报如下错:

既然distinct 只能放在第一列前,哪我把姓名列移动第一列看看代码如下:

SELECT DISTINCT s.`name` AS "姓名", id AS "学号", IFNULL (age,0) AS "年龄", brithday AS "生日", s.`intsert_time` AS "插入时间" FROM stu1 s ;

运行结果却是去掉第四条数据,但是没有去掉第二条数据。说明distinct去重复要求某几条数据完成一样才会去重复。运行结果如下图:

如果想姓名列相同,只保留一条记录,那么可以考虑group by 分组,现在用group by 看看效果,代码如下:

SELECT DISTINCT s.`name` AS "姓名", id AS "学号", IFNULL (age,0) AS "年龄", brithday AS "生日", s.`intsert_time` AS "插入时间" FROM stu1 s GROUP BY s.`name`;

运行结果只保留第一条记录,第2,4条数据都去掉了。

如果我们只需要计算某个字段去重复后的总记录数的话可以用以下代码:

SELECT COUNT(DISTINCT s.name) AS "唯一姓名总数"  FROM stu1 s;  结果如下:

总结一下:如果我们需要去掉完全重复的数据可以用distinct放在第一列数据前面,如果我们只需要按照某列相同去掉重复的数据,可以用group by 进行分组。如果我们只需要计算某一个字段去重复后的总记录数可以 用 count(distinct 列名)聚合函数的方式获取。

mysql 去重复屈居_mysql去重复关键字distinct的用法相关推荐

  1. mysql重复数据处理_MySQL 处理重复数据

    MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删 ...

  2. mysql分组后去重复数据_mysql去掉重复数据只保留一条,以及取分组后的一条数据...

    最近有一个需求是要我在用户所有发过的短视频中找到每一个用户最新发送的一条短视频网上找了一下感觉挺好用的所以就记录下来 SELECT a.createTime,a.userId FROM short_v ...

  3. mysql删除学生记录_mysql删除重复记录语句,删除除了 id 号不同,其他都相同的学生冗余信息...

    /** 在Mysql下执行: delete from my.stu where id not in( select min(id) id from my.stu group by code ) ; 用 ...

  4. mysql重复写入_MYSQL避免重复插入记录的三种方法

    方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: insert ignore into table_name(email ...

  5. php mysql 删除重复数据_mysql删除重复数据保留一条

    1.查找重复数据:SELECT * FROM `table_a` as a WHERE NOT EXISTS (SELECT * FROM table_b as b WHERE b.a_id=a.id ...

  6. mysql查询重复的_MySQL查询重复记录sql语句

    在数据开发时我们常常会需要把数据库中重复的记录查出来或直接删除数据库中重复记录,下面我来给大家总结一些方法,有需要的朋友可参考. 常用的语句 1.查找表中多余的重复记录,重复记录是根据单个字段(mai ...

  7. mysql对时间操作系统_MySQL时间操作的系统函数用法

    oracle length and lengthb LENGTH──返回以字符为单位的字符串长度. LENGTHB──返回以字节为单位的字符串长度,它和类型定义中的长度是一个概念,比如你定义的varc ...

  8. mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明

    今天建视图时,用到了MySQL中的字符串截取,很是方便 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截 ...

  9. mysql中create使用_mysql怎么创建表之create用法

    mysql的基础,创建一个表,但是高手和菜鸟就会有区别,合适的字段,字段描述,索引等细节很能体现一个程序员的水平,下面介绍用create创建表 在mysql数据库中不管我们是通过导入还是其它的工具创建 ...

最新文章

  1. 51js 的json编辑器
  2. Hadoop之道--MapReduce之Hello World实例wordcount
  3. python 定制类
  4. DOCX是什么格式文件
  5. 女式T恤行业调研报告 - 市场现状分析与发展前景预测
  6. 如何在Axure使用iconfont图标库里的图标
  7. 卫星电视的双本振,单本振及高频头相关知识普及
  8. java 100以内的偶数的和_java 2.3 循环语句计算100以内的偶数和(五种方法)
  9. javaweb实现即时消息推送功能
  10. 排序算法:(二)快速排序
  11. 列表xcode项目下所有的lnfo.plist
  12. 人一个月瘦多少斤比较合适
  13. 北京公积金打印贷款证明(缴存明细+异地贷款职工缴存使用证明)
  14. 阳光旅行网app中用户下单功能,《使用Java实现面向对象编程》内部测试机试题
  15. 在 RHEL or CentOS 7、8 中更改主机名的 4 种方法
  16. 身份证15位转18位(直接调用方法即可,简单方便!!!)
  17. STM32F103程序设计-5-控制引脚高低电平的实现
  18. Java数据结构——堆排序
  19. 索尼宣布出售PC业务
  20. java greenplum_接口篇 – Java连接Greenplum

热门文章

  1. 当剩下最后一颗×××时,各国军人的表现!
  2. 服务器实现_Linux C Http 文件服务器实现(含源码)
  3. Oracle DBA课程系列笔记(5)
  4. 全面认识Eclipse中JVM内存设置(转)
  5. Moss/Sharepoint:自定义 Oracle Membership
  6. 双向链表的C++类模板实现
  7. PHP验证码识别实例
  8. Unity3d查找游戏对象
  9. python使用redis_使用Redis和Python构建自行车共享应用
  10. LinuxQuestions.org庆祝16岁生日