sql数据库去重的几种情况

这篇具有很好参考价值的文章主要介绍了sql数据库去重的几种情况。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

去掉重复数据的方法:

第一种:distinct

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

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

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

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

sql查询表中去重某个字段,数据库,sql,mysql,Powered 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)

sql查询表中去重某个字段,数据库,sql,mysql,Powered by 金山文档

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

原文:SQL查询去掉重复数据 - 刚刚好1 - 博客园 (cnblogs.com)文章来源地址https://www.toymoban.com/news/detail-662841.html

到了这里,关于sql数据库去重的几种情况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【MySQL】根据多个字段查询数据进行去重的sql编写

    一、实现思路 根据四个字段进行数据去重的SQL编写可以使用GROUP BY和HAVING子句来实现。 场景一: 假设有一个名为 table1 的数据表,其中包含四个字段: field1 、 field2 、 field3 和 field4 。要求根据这四个字段进行数据去重。 可以使用以下SQL语句: 场景二: 上述SQL语句会返回所

    2024年02月15日
    浏览(46)
  • spark sql 数据倾斜--join 同时开窗去重的问题优化

    背景: 需求:在一张查询日志表中,有百亿数据,需要join上维表,再根据几个字段进行去重 开窗去重和join 一定要分步进行 ,按照需求先做join再开窗,或者去重完成后在进行join。 dwd_tmp1 中存在百亿用户查询日志数据 数据倾斜 数据量超百亿,资源给到200 * 2c * 20G,执行引擎

    2024年02月11日
    浏览(15)
  • 达梦数据库的几种模式及状态说明

    达梦数据库支持 3 种数据库模式: Normal 模式、 Primary 模式和 Standby 模式。 用户可以正常访问数据库,操作没有限制。 正常生成本地归档,但不发送实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。 将数据库切换为 Normal 模式: 用户可以正常访问数据库,操作有

    2024年02月05日
    浏览(8)
  • 从mysql 数据库表导入数据到elasticSearch的几种方式

    从mysql 数据库表导入数据到elasticSearch的几种方式

            从MySQL数据库导入数据到Elasticsearch有几种方式,主要包括以下几种:         1. 使用Logstash:         Logstash是一个开源的数据收集引擎,可以用来从不同的数据源导入数据到Elasticsearch。它具有强大的数据处理能力和插件生态系统,可以方便地实现数据的解

    2024年04月12日
    浏览(16)
  • Java提升数据库大数据查询速度的几种方式

    Java提升数据库大数据查询速度的几种方式

    本文章以MySQL数据库为用例说明,列举出几个常用的提升查询速度的方式。 分页查询,在网络浏览中,经常会看到分页的使用,像百度搜索分页、文档资料分页等,这些都是一种常见的提升数据查询速度和用户体验的一种方式,数据库有limit,开发人员可使用此

    2024年02月12日
    浏览(13)
  • 【面试题】如何实现数组去重的?有几种方式?

    【面试题】如何实现数组去重的?有几种方式?

     前端面试题库 ( 面试必备)              推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 通过两层循环对数组元素进行逐一比较,然后通过splice方法来删除重复的元素。此 方法对NaN是无法进行去重的 ,因为进行比较时

    2024年02月10日
    浏览(14)
  • idea连接数据库失败的几种解决方案

    idea连接数据库失败的几种解决方案

    1、先进入名字为mysql的数据库 2、找到user表 3、修改root的host为% [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pWeP9cRh-1677664942027)(https://img2023.cnblogs.com/blog/3103012/202302/3103012-20230227175245772-1975389509.jpg)] 方法一和方法二,都是开放root的权限为所有人可

    2024年02月04日
    浏览(11)
  • Spring Boot中操作数据库的几种并发事务方式

    当有多个 并发 事务时,会发生丢失更新异常。来自一个或多个 事务 的更新可能会丢失,因为其他事务会用其结果覆盖它。 让我们通过一个例子来检验一下。考虑以下执行事务的方法。 public void withdraw(Long accountId, double amount) { Account account = accountRepository.findById(accountId).orEl

    2024年01月22日
    浏览(33)
  • Mysql数据库--修改root密码的几种方法(忘记密码&知道密码)

    Mysql数据库--修改root密码的几种方法(忘记密码&知道密码)

    🍁 通过 alter user root identified by \\\'新密码\\\'; 🍁 通过 set password for 用户名@\\\'用户地址\\\' = \\\'新密码\\\'; 2.1.1 🎈 停止mysql服务 2.1.2 🎈 创建mysql-init-file.txt文件 2.1.3 🎈 init-file的权限(最好赋权一下) 2.1.3 🎈 使用–init-file选项启动mysql服务 2.1.4 🎈 新密码连接测试(密码:Zyl@123321)

    2024年02月08日
    浏览(56)
  • SQL SERVER连接oracle数据库几种方法

    --1 方式  --查询oracle数据库中的表  举一反三:在查询分析器中输入: --在sqlserver中创建与oracle数据库中的表同名的表  --2、方式  --在master数据库中查看已经存在的链接服务器  --要在企业管理器内指定登录帐号 --备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写

    2024年02月02日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包