mysql去重的两种方法详解及实例代码
发布时间 - 2026-01-10 22:24:50 点击率:次mysql去重

方法一:
在使用MySQL时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段
下面先来看看例子:
table id name 1 a 2 b 3 c 4 c 5 b
库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table
得到的结果是:
name a b c
好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
id name 1 a 2 b 3 c 4 c 5 b
distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被除。。。。。。。
我们再改改查询语句:
select id, distinct name from table
很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能报错。。。。。。。
最终好用的语句如下:
select *, count(distinct name) from table group by name
结果:
id name count(distinct name) 1 a 1 2 b 1 3 c 1
最后一项是多余的,不用管就行了,目的达到。。。。。
哦,对,再顺便说一句,group by 必须放在 order by 和 limit之前,不然会报错。。。。。。。。!OK了
总结语句:select *, count(distinct name) from (select * from table……等嵌套语句) group by name
方法二:
利用group by
SELECT * FROM(
select * from customer where user=(
SELECT source_user from customer WHERE user='admin') UNION ALL select * from customer where user=(
select source_user from customer where user=(
SELECT source_user from customer WHERE user='admin')) union ALL select * from customer where user=(
select source_user from customer where user=(
select source_user from customer where user=(
SELECT source_user from customer WHERE user='admin'))) UNION ALL select * from customer where source_user=(/*我的上线的上线的user*/
select user from customer where user=(
select source_user from customer where user=(
SELECT source_user from customer WHERE user='admin'))) union all select * from customer where source_user=(/*我的上线的上线的上线user*/
select user from customer where user=(
select source_user from customer where user=(
select source_user from customer where user=(
SELECT source_user from customer WHERE user='admin'))))) as alias group by user;
注意加别名,不然报错,注意在where语句外面包装一下,再用group by去重才会生效。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# mysql去重
# mysql去重两种方法
# mysql去重几种方法
# mysql 开发技巧之JOIN 更新和数据查重/去重
# MySQL 数据查重、去重的实现语句
# 一条sql语句完成MySQL去重留一
# MySQL去重的方法整理
# 浅谈sql数据库去重
# SQL分组排序去重复的小实例
# 一次SQL如何查重及去重的实战记录
# 报错
# 放在
# 才会
# 的是
# 是一个
# 那就
# 一句
# 用了
# 希望能
# 得多
# 这只
# 实际情况
# 也得
# 能把
# 再用
# 谢谢大家
# 好用
# 错误信息
# 用它
# 想用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
,交易猫的商品怎么发布到网站上去?
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何挑选高效建站主机与优质域名?
Laravel怎么使用Intervention Image库处理图片上传和缩放
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
如何在阿里云服务器自主搭建网站?
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Python图片处理进阶教程_Pillow滤镜与图像增强
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Laravel如何配置任务调度?(Cron Job示例)
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
jQuery validate插件功能与用法详解
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何在IIS7中新建站点?详细步骤解析
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何在局域网内绑定自建网站域名?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
JavaScript Ajax实现异步通信
EditPlus中的正则表达式 实战(1)
如何选择可靠的免备案建站服务器?
Python文本处理实践_日志清洗解析【指导】
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Windows Hello人脸识别突然无法使用
中国移动官方网站首页入口 中国移动官网网页登录
浅谈Javascript中的Label语句
如何获取上海专业网站定制建站电话?
如何确保西部建站助手FTP传输的安全性?
如何快速查询网址的建站时间与历史轨迹?
使用spring连接及操作mongodb3.0实例
JavaScript模板引擎Template.js使用详解
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
java获取注册ip实例
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel怎么上传文件_Laravel图片上传及存储配置
如何实现建站之星域名转发设置?
Laravel storage目录权限问题_Laravel文件写入权限设置

