MYSQL删除重复数据的简单方法
发布时间:2024-01-20 17:00:21
标签:MYSQL,重复数据
CREATETABLE`users`(
`id`int(10)NOTNULLAUTO_INCREMENT,
`name`char(50)NOTNULL,
PRIMARYKEY(`id`)
)
deletefromuserswhereidin(selectmin(id)fromusersgroupbynamehavingcount(name)>1);
结果报错:1093youcan'tspecifytargettable....
原因是mysql删除动作不能带有本表的查询动作,意思是你删除users表的东西不能以users表的信息为条件所以这个语句会报错,执行不了。只要通过创建临时表作为查询条件。如下
deletefromuserswhereidin(select*from(selectmin(id)fromusersgroupbynamehavingcount(name)>1));
还要注意deletefromusers这里不能用别名
其他方法。
deleteusersasafromusersasa,(selectmin(id)id,namefromusersgroupbynamehavingcount(name)>1
)asbwherea.name=b.nameanda.id<>b.id;
建立临时表:
createtabletmp_usersselectmin(`id`),`name`fromusersgroupbyname;
truncatetableusers;
insertintousersselect*fromtmp_users;
droptabletmp_users;


猜你喜欢
- 如下所示:#Copyright (c)2017, 东北大学软件学院学生# All rightsreserved#文件名称:a.py# 作 &
- 一、前言很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。今天我们就
- 在日常工作中,可能会遇到各类表格合并的需求。这类需求只要搞懂核心原理都很简单,本质都是万变不离其宗,相信大部分读者都能解决大部分需求。基本思
- 目录1)连接请求的变量1、max_connections2、back_log3、wait_timeout和interative_timeou
- 下载tensorflow的代码地址:https://github.com/tensorflow/models.git然后进入目录:cd mo
- 背景介绍开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程
- 以下是演示**“如何在Python中复制文件”的九种方法**。shutil copyfile()方法shutil copy()方法shuti
- 1. 开始前本程序基于tkinter生成GUI,使用前请确保已经安装好tkinter对于windows用户,您可能已经安装了tkinter,
- IIS上设置301 跳转相信大家都会,只要在网站-属性-主目录里 选择重定向URL就行了,这样整站就跳转到目标站点了,但是有个问
- 第一步,修改配置文件:vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1改为:bind-addr
- 前言 1. 概述共享坐标轴就是几幅子图之间共享x轴或y轴,这一部分主要了解如何在利用matplotlib制图时共享坐标轴。pyplot.s
- 先让我们看一个例子,了解什么是模式化窗口。以下是QQ秀商城在非登录时提示登录的一种状态。当我在非登录状态,通过保存形象的方式买一件衣服时,弹
- 周五上班的主要任务是在公司老平台上用redis处理一个队列问题,顺便复习了一下redis操作的基础知识,回来后就想着在自己的博客demo里,
- 本文实例讲述了django 框架实现的用户注册、登录、退出功能。分享给大家供大家参考,具体如下:1 用户注册:from django.con
- 一、当前时间戳获取当前时间戳,即当前系统内表示时间的一个浮点数import timetime.time()二、获取当前时间字符串获取当前时间
- 一、var声明的变量会挂载在window上,而let和const声明的变量不会:var a = 100;console.log(a,wind
- 1.经典类与新式类在了解Python的类与类型前,需要对Python的经典类(classic classes)与新式类(new-style
- concat 与其说是连接,更准确的说是拼接。就是把两个表直接合在一起。于是有一个突出的问题,是横向拼接还是纵向拼接,所以concat 函数
- 那么什么这两个到底有什么区别和联系呢?我在网上搜了一下,发现很多说法,虽然大同小异,但是似乎只有下面这一段来自微软网站的比较高度抽象,而且意
- 如下所示:select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb把a表的a1,a2列相加作为