当前位置:网站首页>mysql 数据去重的三种方式[实战]
mysql 数据去重的三种方式[实战]
2022-07-31 08:08:00 【暮晓引流软件】
一、背景。
最近在和系统模块做数据联调,其中有一个需求是将两个角色下的相关数据对比后将最新的数据返回出去,于是就想到了去重,再次做一个总结。
二、数据去重三种方法使用。
1.通过MySQL DISTINCT:去重(过滤重复数据)
1.1.在使用 mysql SELECT 语句查询数据的时候返回的是所有匹配的行。
SELECT t.age FROM t_user t
可以看到查询结果返回了 10 条记录,其中有一些重复的 age 值,有时出于对数据分析的要求,需要消除重复的记录值。
1.2.DISTINCT 关键字指示 MySQL 消除重复的记录值。
语法格式为:
SELECT DISTINCT <字段名> FROM <表名>;
SELECT DISTINCT t.age FROM t_user t
由运行结果可以看到,这次查询结果只返回了 5 条记录的 age 值,且没有重复的值。
ps:
其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开。
使用 DISTINCT 关键字时需要注意以下几点:
DISTINCT 关键字只能在 SELECT 语句中使用。
在对一个或多个字段去重时,DISTINCT 关键字必须在所有字段的最前面。
如果 DISTINCT 关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有多个字段组合起来完全是一样的情况下才会被去重。
2.group by
SELECT t.age FROM t_user t GROUP BY t.age;
3.row_number窗口函数。
语法格式为:
row_number() over (partition by <用于分组的字段名> order by <用于组内排序的字段名>)
项目使用的去重:
select?*?from?(select?t.*,row_number()?over(partition?by?t.children_id ?order?by?t.update_time?DESC)?rn???????
三、总结。
感谢大家的关注 分享 收藏 看的人越多,表哥推送的就越猛!关注的人越多,表哥的激情更旺盛。
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- Collation and sharing of related classic papers and datasets in the field of deep learning communication
- sqlmap使用教程大全命令大全(图文)
- @Transactional注解的失效场景
- 《如何戒掉坏习惯》读书笔记
- shell/bash脚本命令教程
- "C language" frog jumping steps recursion problem
- 科目三:左转弯
- google搜索技巧——程序员推荐
- Regarding "computing power", this article is worth reading
- 哪些字符串会被FastJson解析为null呢
猜你喜欢
skynet中一条消息从取出到处理完整流程(源码刨析)
SSM integration case study (detailed)
LED flashing on CY7C68013A
PowerCLi 通过自建PXE Server一键esxi7下批量部署常规New-VM
[MySQL exercises] Chapter 2 Basic operations of databases and data tables
初识NK-RTU980开发板
动态顺序表的增删查改(C语言实现)
How to upgrade nodejs version
google搜索技巧——程序员推荐
【Unity】编辑器扩展-04-拓展Scene视图
随机推荐
Small application project development, jingdong mall 】 【 uni - app custom search component (below) - search history
"The C language games" mine clearance
射频电路学习之滤波电路
35-Jenkins-共享库应用
A, MySQL principle of master-slave replication
【小程序项目开发-- 京东商城】uni-app之自定义搜索组件(中)-- 搜索建议
Linux redis6.2.6 configuration file
New in Visual Studio: Low Priority Builds
[MySQL exercises] Chapter 5 · SQL single table query
[Mini Program Project Development--Jingdong Mall] Custom Search Component of uni-app (Part 1)--Component UI
MySql 5.7.38下载安装教程 ,并实现在Navicat操作MySql
SQL join table (inner join, left join, right join, cross join, full outer join)
Flutter Paystack implements all options
求职产品经理【九】求职季,如何写好一份简历?
力扣 593. 有效的正方形
SQL 入门之第一讲——MySQL 8.0.29安装教程(windows 64位)
SQL连接表(内连接、左连接、右连接、交叉连接、全外连接)
sqli-labs(less-11)
SSM整合案例分析(详解)
【云原生与5G】微服务加持5G核心网