本文主要总结数据库去掉重复数据的方法

去掉重复数据的方法:

第一种:distinct

根据单个字段去重,能精确去重;

作用在多个字段时,只有当这几个字段的完全相同时,才能去重;

关键字distinct只能放在SQL语句中的第一个,才会起作用

上图举例说明:图中student_name 为 test的同学有两位,不同的是班级

首先,单个字段 -》用distinct对student_name 进行筛选,单个字段查询的话,可以看到已经将一个重复的test学生记录去掉了

应用在多个字段时,可以看到此时两个同名的test,都被查出来;应用在多个字段时,只有当多个字段重复才会去重

一般用来返回不重复的记录条数,返回不重复的条数(去掉test重复的,就剩下6条)

第二种:group by + count + min 去掉重复数据

没有加group by之前,有两条班级名称一样的数据

加上group by 后,会将重复的数据去掉了

count + group +min:去掉重复数据

首先根据查出重复的数据

然后再加上id不在查询结果里面的,去掉重复数据

SELECT * from tb_class where classname in (SELECT classname from tb_class  GROUP BY classname HAVING COUNT(classname)>1)

and id NOT in (SELECT min(id) from tb_class GROUP BY classname HAVING count(classname)>1)

第三种:min、max(这种方法在第二种中已经用到了)

参考:

https://download.csdn.net/download/liangfei207/10325028

https://www.cnblogs.com/firstdream/p/7985584.html (较复杂)

mysql查询时去掉重复数据库_SQL查询去掉重复数据相关推荐

  1. MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  2. mysql读取第3条记录_sql查询(三)之分页查询

    分页查询这个内容基本上是个项目都会用的到的东西,面试也会问到的, 平常项目中老是百度用法,这些写博客来总结一下,省的老是百度. 现在主流的关系型数据的分页实现还是有点差别的,以oracle.mysql ...

  3. 阿里云 mysql 强制查主库_mysql数据库权限查询

    mysql数据库权限查询 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越.稳定可靠.弹性扩展的IaaS(Infrastructure as a Servi ...

  4. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...

    天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...

  5. mysql查询结果乘2倍_SQL查询总和乘以它应该的2倍

    当我运行这个查询时,票sum是它的2倍(sum = 6而不是3).有人可以找出解决这个问题吗? SELECT sum(votes.vote) AS sum , my_votes.vote IS NOT ...

  6. 下拉框输入模糊查询_RazorSQL for Mac(数据库工具查询)

    RazorSQL Mac激活版是一款专门为mac用户推出的数据库管理软件,允许您从一个数据库工具查询,更新,导航和管理所有主要数据库:本站提供RazorSQL Mac激活版下载功能强大还支持SQL的编 ...

  7. 我的docker随笔15:MySQL启动时自动创建数据库

    一.背景及分析 MySQL容器启动时,会自动创建一些必要的数据库,比如MySQL,这是官方默认的做法.但是,在实际中,还需要让MySQL自动创建我们自定义的数据库.本文就此应用场合进行探究. 一般的做 ...

  8. mysql单价乘以数量_数据库字段中存储的数据数量乘以不同单价的和的算法示例...

    数据库字段中存储的数据数量乘以不同单价的和的算法,适用于记账本程序的计件数据记录,和商品记录等场景. 代码示例如下: //模拟数据库结果集 $arr = array( array( "id& ...

  9. mysql sql 去除重复行_SQL查询语句去除重复行

    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录 ...

最新文章

  1. java 对象内存布局_Java--对象内存布局
  2. HttpClient(联网)
  3. 她15岁,上海高一女生,也是顶尖科学家论坛最年轻嘉宾
  4. $NF和 NF的区别
  5. 【比赛】论如何七天内在研究生电子设计竞赛中拿国奖
  6. mysql 字符集测试_MySQL多字符集备份恢复测试
  7. Ubuntu 16.04 安装第三方Apps Can’t Install Third-Party Apps on Ubuntu 16.04? You’re No
  8. plsql本机不安装数据库连接远程数据库
  9. All about the “paper”
  10. 数字社会的下一波浪潮_下一波创业浪潮是自然而然的
  11. ignite mysql 持久化_2 ignite关键特性
  12. ERP系统和CRM系统
  13. SSM+基于微信小程序的航空售票管理系统 毕业设计-附源码191111
  14. 如何按州跟踪缺席选票
  15. 易中天∑品读汉代风云人物
  16. php配置站点报错403,phpstudy V8 报403错误怎么办
  17. 白鹭引擎学习笔记(二)
  18. IT又一蚂蚁金服面经
  19. 数据分析金庸武侠经典人物,我们喜欢江湖中的这群人
  20. bitlocker正在加密 c盘_为什么BitLocker能给系统盘加密?

热门文章

  1. UE5项目设置必须开启光晕时,某一场景关闭光晕的方法
  2. 人工智能芯片发展 (1
  3. 华为鸿蒙啥时发布,华为鸿蒙OS手机Beta版什么时候上市-发布时间
  4. MySQL Connectors组件8.0.12及之前版本的Connector/J子组件存在安全漏洞及其相关性分析
  5. -bash: shasum: command not found的解决方法
  6. 为毛程序猿总是找不到对象?
  7. 又来了,上班又开始了,奋斗还得继续....
  8. 关键选择:等公司加薪or跳槽涨薪?
  9. 1104. Sum of Number Segments (20)[数学逻辑题]
  10. 【NX二次开发】NX内部函数,libufunx.dll文件中的内部函数