删除数据库中的重复记录
编程技术  /  houtizong 发布于 3年前   65
-- Clear firstDROP TABLE IF EXISTS `tb_score`;-- Create the table CREATE TABLE `tb_score`( `id` mediumint, `name` varchar(20), `course` varchar(30), `score` smallint);-- Batch insert, supported by MySQL and DB2INSERT INTO tb_score (id, name, course, score)VALUES (1, 'John', 'Biology', 90), (2, 'John', 'Biology', 90), (3, 'Lisa', 'Chemistry', 80), (4, 'John', 'Biology', 90);
SELECT name, course, COUNT(*) AS "count"FROM tb_scoreGROUP BY name, courseHAVING COUNT(*) > 1
SELECT *FROM tb_score aWHERE ( a.name, a.course) IN ( SELECT b.name, b.course FROM tb_score b GROUP BY b.name, b.course HAVING COUNT(1) > 1)
SELECT *FROM tb_score aWHERE EXISTS ( SELECT 1 FROM tb_score b WHERE a.name=b.name AND a.course=b.course AND a.id > b.id)
-- MySQL doesn't supportDELETEFROM tb_score aWHERE EXISTS ( SELECT 1 FROM tb_score b WHERE a.name = b.name AND a.course = b.course AND a.id > b.id)
-- Drop and create table are omitted-- Batch insertINSERT INTO tb_score (id, name, course, score)VALUES (1, 'John', 'Biology', 90), (1, 'John', 'Biology', 90), (2, 'Lisa', 'Chemistry', 80), (1, 'John', 'Biology', 90);
CREATE TABLE #tmp ASSELECT DISTINCT *FROM tb_score; TRUNCATE TABLE tb_score; INSERTINTO tb_scoreSELECT *FROM #tmp;
SELECT *FROM tb_score aWHERE a.ROWID > ( SELECT MIN(ROWID) FROM tb_score b WHERE a.id = b.id AND a.name = b.name AND a.course = b.course)
DELETEFROM tb_score aWHERE a.ROWID > ( SELECT MIN(ROWID) FROM tb_score b WHERE a.id = b.id AND a.name = b.name AND a.course = b.course)
SELECT id, name, courseFROM ( SELECT id, name, course, ROW_NUMBER() OVER(PARTITION BY id, name, course) AS row_seq FROM tb_score) tWHERE t.row_seq > 1
DELETEFROM ( SELECT id, name, course, ROW_NUMBER() OVER(PARTITION BY id, name, course) AS row_seq FROM tb_score) tWHERE t.row_seq > 1
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接