广告
返回顶部
首页 > 资讯 > 数据库 >mysql去重查询的三种方法
  • 200
分享到

mysql去重查询的三种方法

mysql数据库 2023-08-16 13:08:35 200人浏览 安东尼
摘要

文章目录 前言一、插入测试数据二、剔除重复数据方法1.方法一:使用distinct2.方法二:使用group by3.方法三:使用开窗函数 总结 前言 数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复


前言

数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复数据,下面介绍三种剔除重复数据的方法,请针对自己的应用场景选择使用。

一、插入测试数据

下图测试数据中user_name为lilei、zhaofeng的用户是重复数据。

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、剔除重复数据方法

1.方法一:使用distinct

代码如下(示例):

select distinct user_name,email,address from t_user;

如下图,已将数据剔重,重复数据仅保留1条。
在这里插入图片描述

2.方法二:使用group by

SELECT user_name,email,address FROM t_user GROUP BY user_name, email, address;

如下图,已将数据剔重,重复数据仅保留1条。

在这里插入图片描述

3.方法三:使用开窗函数

(1)如果你的数据库Mysql8以上版本你可以直接使用开窗函数row_number()

SELECT *FROM(    SELECT t.*,            ROW_NUMBER() OVER(PARTITioN BY user_name           ORDER BY last_login DESC) rn    FROM table AS t) AS t_userWHERE rn = 1;

(2)如果你的数据库版本低于mysql8,使用类row_number()方法

select user_name, email, address from (select b.*,@rownum := @rownum+1 ,-- 定义用户变量@rownum来记录数据的行号if(@pdept=b.user_name,@rank:=@rank+1,@rank:=1) as rank,-- 如果当前分组user_name和上一次分组user_name相同,则@rank(对每一组的数据进行编号)值加1,否则表示为新的分组,从1开始@pdept:=b.user_name -- 定义变量@pdept用来保存上一次的分组idfrom (select * from t_user) b ,(select @rownum :=0 , @pdept := null ,@rank:=0) c  -- 初始化自定义变量值order by b.user_name,b.last_login desc -- 该排序必须,否则结果会不对) resultwhere rank = 1;

如下图,已将数据剔重,重复数据仅保留1条。
在这里插入图片描述

总结

Word文档下载地址:mysql去重查询的三种方法

来源地址:https://blog.csdn.net/ma286388309/article/details/129261927

您可能感兴趣的文档:

--结束END--

本文标题: mysql去重查询的三种方法

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

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

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

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

下载Word文档
猜你喜欢
  • mysql去重查询的三种方法
    文章目录 前言一、插入测试数据二、剔除重复数据方法1.方法一:使用distinct2.方法二:使用group by3.方法三:使用开窗函数 总结 前言 数据库生成环境中经常会遇到表中有重复的数据,或者进行关联过程中产生重复...
    99+
    2023-08-16
    mysql 数据库
  • mysql去除重复查询的方法
    小编给大家分享一下mysql去除重复查询的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql去除重复查询的方法:1、使...
    99+
    2022-10-18
  • sql去重 ,4种查询数量方法
    标题第一种 :distinct select count (distinct 订单号) from dual 标题第二种:查询去重 group by select count(订单号...
    99+
    2023-09-11
    sql 数据库 mysql
  • mysql去重查询的方法有哪些
    本篇内容介绍了“mysql去重查询的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、插入测试数据下图测试数据中user_name...
    99+
    2023-07-05
  • Mysql查询去空格的多种方法汇总
    目录一、背景二、方法1、trim()、ltrim()、rtrim()函数(1)trim()去除字段首尾空白字符,也可以去除指定字符(2)ltrim()去除左空格(3)rt...
    99+
    2023-04-25
    mysql去掉空格查询 sql查询去掉空格 mysql 去空格
  • MySQL 重写查询语句的三种策略
    在优化存在问题的查询时,我们需要改变方式去获取查询结果——但这并不意味着从 MySQL获取同样的结果集。有些时候我们可以将查询转换为获取相同结果,但更好性能的查询形式。然而,我们也需要考虑重写查询去获取不同的结果,因...
    99+
    2022-05-23
    MySQL 查询语句 MySQL 重写查询语句
  • MySQL模糊查询的三种方式
    文章目录 一、Mybatis常用模糊查询方法1.使用concat("%",#{name},"%")2.使用'%${name}%'3.使用"%"#{name}"%"总结: ...
    99+
    2023-09-01
    mysql mybatis java
  • SQL中的三种去重方法小结
    目录distinctgroup byrow_number在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到 uv (独立访客),就需要做去重。 在 MySQL 中通常...
    99+
    2022-11-12
  • 详解mysql数据去重的三种方式
    目录一、背景二、数据去重三种方法使用1.​通过MySQL DISTINCT:去重(过滤重复数据)2.group by3.row_number窗口函数三、总结一、背景 最近在和系统模块...
    99+
    2022-11-13
  • gitlab权限查询的三种方法
    在使用GitLab进行版本管理和代码协作的过程中,权限管理是非常重要的。不同的用户或用户组需要不同的权限,以确保代码的安全性和合规性。在GitLab中,可以通过多种方式来查询权限,本文将简单介绍其中几种方式。通过Web界面查询权限GitLa...
    99+
    2023-10-22
  • mybatis-plus分页查询三种方法
    mybatis-plus分页查询 一、前期准备表1、配置类 二、使用selectPage1、Service2、结果 三、使用2种分页查询的写法1、xml2、Mapper3、第一种写法4、第一种结果5、第二种写法6、第二种结果...
    99+
    2023-08-20
    mybatis java 开发语言
  • Mysql---子查询的三种查询方式( 表子查询,条件子查询,列中子查询)
    mysql子查询 子查询分为: 列中子查询 单列单行表子查询 必须有别名条件子查询 单行单列 多行单列 下列示例表结构: grade表: result表: student表: subject表:...
    99+
    2023-09-04
    mysql sql 数据库
  • sql中去重查询的方法是什么
    在SQL中,可以使用DISTINCT关键字来进行去重查询。DISTINCT关键字用于删除SELECT语句返回结果中重复的行。...
    99+
    2023-09-16
    sql
  • MyBatis流式查询的三种实现方法
    导读:流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用 如果没有流式查询,我们想要从数据库取 1000 万...
    99+
    2022-11-12
  • php判断查询数组的三种方法
    在开发PHP网站时,有时需要对一个数组进行查询。但如何正确地判断是否在数组中查找到了对应的值呢?本文将介绍几种常用的判断数组查询的方法,帮助PHP开发者更好地处理数组查询。in_array()函数in_array()函数是PHP中内置的一个...
    99+
    2023-05-14
  • MySQL三种关联查询方式是什么
    这篇文章主要讲解了“MySQL三种关联查询方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL三种关联查询方式是什么”吧!看看下面三个关联查询...
    99+
    2022-10-19
  • MySQL分页查询的5种方法
    方式1: select * from table order by id limit m, n; 很简单,该语句的意思就是查询m+n条记录,去掉前m条,返回后n条。无疑该查询能够实现分页,但m越大,查询性能就越低,因为MySQL需...
    99+
    2023-09-07
    sql 数据库 database
  • 数据库查询去重的方法是什么
    数据库查询去重的方法有以下几种:1. 使用DISTINCT关键字:在SELECT语句中使用DISTINCT关键字可以去除查询...
    99+
    2023-09-23
    数据库
  • mysql查询重复字段的方法
    1、查找全部重复记录 Select From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count()>1) 过滤重复记录...
    99+
    2021-10-27
    mysql查询重复字段的方法 数据库入门 数据库基础教程 数据库 mysql
  • List去重的几种方法
    list去重 现在设有Integer类型的ArrayList,list=[0,1,1,3,3,4,5] 1.使用contains //使用contains List li...
    99+
    2023-10-04
    list java 数据结构
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作