데이터 베이스 MySQL 튜토리얼 mysql中删除完全重复数据的准确SQL语句_MySQL

mysql中删除完全重复数据的准确SQL语句_MySQL

Jun 01, 2016 pm 01:45 PM
수학

bitsCN.com

案例:
id         姓名  课程名称 分数
1         张三     数学    69
2          李四        数学    89
3          张三        数学    69
删除除了自动编号不同,其他都相同的学生冗余信息

------------------------------------------------------------------------------------------------------
按常理来说,这个sql语句应该是:
delete tablename where id not in(select min(id) from tablename group by name,kecheng,fenshu);
这种写法在sqlserver或者oracle中是支持的,但是mysql目前是不支持的,会报类似错:You can't specify target table 'tablename' for update ,这是因为在mysql中不能同时查询一个表的数据再同时进行删除.
目前网上流行的一种解法是:
1)创建一个临时表,讲要查询的列的存入临时表中
create table temp as select ...
2)在temp表和原始表中进行操作
delete from tablename
3)drop temp...
但是这种做法,不仅浪费空间资源,同时也缺乏友好性。通过观察我们发现这类查询要解决的是如何将子查询中的表与主查询中的表区分开来,因此我们可以考虑用别名的方法,将子查询的结果放到一个别名中。
完整的sql语句如下:
DELETE FROM tablename where id not in (select bid from (select min(id) as bid from tablename group by name,kecheng,fenshu) as b ) ;
解释:
select bid from (select min(id) as bid from tablename group by name,kecheng,fenshu) as b
这个子查询的目的是从b中列出讲筛选结果,即bid的集合。
(select min(id) as bid from tablename group by name,kecheng,fenshu) as b
将分组结果中的最小的bid当做一个心的集合当做一个心的子表b,
注意mid(id)一定要有一个别名,这里取的是bid,作为b的一个列名,因为在上一级查询中要用到这个列名(红色标注)。

作者“小猫的专栏”

bitsCN.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

AI가 수학적 연구를 전복시킨다! 필즈상 수상자이자 중국계 미국인 수학자, Terence Tao가 좋아하는 11개 논문 발표 | AI가 수학적 연구를 전복시킨다! 필즈상 수상자이자 중국계 미국인 수학자, Terence Tao가 좋아하는 11개 논문 발표 | Apr 09, 2024 am 11:52 AM

AI가 수학적 연구를 전복시킨다! 필즈상 수상자이자 중국계 미국인 수학자, Terence Tao가 좋아하는 11개 논문 발표 |

칠각형 수 칠각형 수 Sep 24, 2023 am 10:33 AM

칠각형 수

획기적인 CVM 알고리즘으로 40년 이상의 계산 문제를 해결합니다! 컴퓨터 과학자가 동전을 던져 '햄릿'이라는 고유한 단어를 알아냈습니다. 획기적인 CVM 알고리즘으로 40년 이상의 계산 문제를 해결합니다! 컴퓨터 과학자가 동전을 던져 '햄릿'이라는 고유한 단어를 알아냈습니다. Jun 07, 2024 pm 03:44 PM

획기적인 CVM 알고리즘으로 40년 이상의 계산 문제를 해결합니다! 컴퓨터 과학자가 동전을 던져 '햄릿'이라는 고유한 단어를 알아냈습니다.

MLP가 하룻밤 사이에 사망했습니다! MIT Caltech 및 기타 혁신적인 KAN, 기록을 깨고 DeepMind를 무너뜨린 수학적 정리 발견 MLP가 하룻밤 사이에 사망했습니다! MIT Caltech 및 기타 혁신적인 KAN, 기록을 깨고 DeepMind를 무너뜨린 수학적 정리 발견 May 06, 2024 pm 03:10 PM

MLP가 하룻밤 사이에 사망했습니다! MIT Caltech 및 기타 혁신적인 KAN, 기록을 깨고 DeepMind를 무너뜨린 수학적 정리 발견

AI 그림에는 여전히 수학을 알아야 합니까? AI 그림에는 여전히 수학을 알아야 합니까? Jun 12, 2023 pm 02:05 PM

AI 그림에는 여전히 수학을 알아야 합니까?

'수학적 멍청한 놈' ChatGPT는 인간의 선호도를 매우 잘 이해합니다! 온라인에서 난수를 생성하는 것은 우주에 대한 궁극적인 해답입니다 '수학적 멍청한 놈' ChatGPT는 인간의 선호도를 매우 잘 이해합니다! 온라인에서 난수를 생성하는 것은 우주에 대한 궁극적인 해답입니다 Apr 01, 2023 am 11:48 AM

'수학적 멍청한 놈' ChatGPT는 인간의 선호도를 매우 잘 이해합니다! 온라인에서 난수를 생성하는 것은 우주에 대한 궁극적인 해답입니다

낮에는 일하고 밤에는 연구를 수행하는 Google Brain 연구 과학자들은 수십 년 동안 수학계를 곤혹스럽게 만들었던 추측을 풀었습니다. 낮에는 일하고 밤에는 연구를 수행하는 Google Brain 연구 과학자들은 수십 년 동안 수학계를 곤혹스럽게 만들었던 추측을 풀었습니다. Apr 12, 2023 am 09:49 AM

낮에는 일하고 밤에는 연구를 수행하는 Google Brain 연구 과학자들은 수십 년 동안 수학계를 곤혹스럽게 만들었던 추측을 풀었습니다.

확산 모델 뒤에 숨은 수학은 소화하기 너무 어렵나요? Google은 통일된 관점으로 이를 명확하게 설명합니다. 확산 모델 뒤에 숨은 수학은 소화하기 너무 어렵나요? Google은 통일된 관점으로 이를 명확하게 설명합니다. Apr 11, 2023 pm 07:46 PM

확산 모델 뒤에 숨은 수학은 소화하기 너무 어렵나요? Google은 통일된 관점으로 이를 명확하게 설명합니다.

See all articles