我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql去重查询的三种方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql去重查询的三种方法


前言

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

一、插入测试数据

下图测试数据中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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql去重查询的三种方法

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

下载Word文档

猜你喜欢

mysql去重查询的三种方法

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

mysql去重查询的方法是什么

在 MySQL 中,可以使用 DISTINCT 关键字来进行去重查询,该关键字用于返回唯一不同的值。以下是一个简单的示例:SELECT DISTINCT column1, column2 FROM table_name;上面的示例将返回
mysql去重查询的方法是什么
2024-04-09

mysql去重查询的方法有哪些

本篇内容介绍了“mysql去重查询的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、插入测试数据下图测试数据中user_name
2023-07-05

mysql查询rownum去重的方法是什么

在MySQL中,没有像 Oracle 数据库中的 ROWNUM 一样的内置函数来实现行号的功能。但是,可以使用变量来模拟行号,并根据需要进行去重。下面是一种常见的方法,在查询结果中使用变量来实现行号,并根据行号进行去重:SELECT t
mysql查询rownum去重的方法是什么
2024-04-09

Mysql查询去空格的多种方法汇总

目录一、背景二、方法1、trim()、ltrim()、rtrim()函数(1)trim()去除字段首尾空白字符,也可以去除指定字符(2)ltrim()去除左空格(3)rtrim()去除右空格2、replace()函数(1)替换字段中指定字符
2023-04-25

MySQL 重写查询语句的三种策略

在优化存在问题的查询时,我们需要改变方式去获取查询结果——但这并不意味着从 MySQL获取同样的结果集。有些时候我们可以将查询转换为获取相同结果,但更好性能的查询形式。然而,我们也需要考虑重写查询去获取不同的结果,因为这样可以提高开发效率。
2022-05-23

gitlab权限查询的三种方法

在使用GitLab进行版本管理和代码协作的过程中,权限管理是非常重要的。不同的用户或用户组需要不同的权限,以确保代码的安全性和合规性。在GitLab中,可以通过多种方式来查询权限,本文将简单介绍其中几种方式。通过Web界面查询权限GitLa
2023-10-22

mysql查询去重复数据的方法是什么

在MySQL中,可以使用DISTINCT关键字来查询去重复数据。例如,假设有一个名为"employees"的表,包含以下数据:+----+-------+--------+| id | name | salary |+----+-
mysql查询去重复数据的方法是什么
2024-04-09

sql中三种去重的方式

sql 去重方法包括:distinct 关键字:从结果中移除重复行,不区分大小写。group by 子句:根据指定列分组,仅返回每个组中的唯一记录。having 子句:过滤分组后的数据,保留满足特定条件的记录。三种 SQL 去重方法在 S
sql中三种去重的方式
2024-05-12

mysql查询去除重复数据的方法是什么

在 MySQL 中去除重复数据可以通过使用 DISTINCT 关键字或者 GROUP BY 子句来实现。使用 DISTINCT 关键字:SELECT DISTINCT column1, column2, ...FROM table_na
mysql查询去除重复数据的方法是什么
2024-04-09

mybatis-plus分页查询三种方法

mybatis-plus分页查询 一、前期准备表1、配置类 二、使用selectPage1、Service2、结果 三、使用2种分页查询的写法1、xml2、Mapper3、第一种写法4、第一种结果5、第二种写法6、第二种结果
2023-08-20

sql中去重查询的方法是什么

在SQL中,可以使用DISTINCT关键字来进行去重查询。DISTINCT关键字用于删除SELECT语句返回结果中重复的行。以下是使用DISTINCT关键字进行去重查询的示例:```SELECT DISTINCT 列名1, 列名2, ...
2023-09-16

MySQL查看视图的三种方法

目录DESCRIBE语句SHOW pythonTABLE STATUS语句SHOW CREATE VIEW语句查看视图是指查看数据库中,已经存在的视图的定义查看视图,必须要有SHOW VIEW的权限查看视图有三种方式DESCRIBE语句
MySQL查看视图的三种方法
2024-09-02

编程热搜

目录