刪除mysql表部分關鍵字段重複的記錄

2021-05-27 00:09:30 字數 1082 閱讀 6918

清理statistic每天的重複資料【即 date server item subitem 完全相同,id肯定不同,value可能相同】

先看一下statistic表結構

處理樣本:

主要實現目的:

刪除 date server item subitem 完全相同,id肯定不同,value可能相同的記錄

比如:2011-07-27 | mx1.dns.com.cn | send_mail | total                      | 14522 |          | 229         【刪除】

2011-07-27 | mx1.dns.com.cn | send_mail | total                      | 14795 |          | 248         【保留】

實現過程:

第一步:建立與statistic表結構完全相同的臨時表

use statistic;

create table s_tmp as select * from statistic where 1=2;

第二步:根據id(自動增長)提取較新資料到臨時表

insert into s_tmp select a.* from statistic a,statistic b where a.date=b.date and a.server=b.server and a.key=b.key and a.subkey=b.subkey and a.id > b.id;

第三步:根據臨時表裡的資料的日期資訊,將原表的對應日期的資料刪除

delete  from statistic where date in (select distinct date  from s_tmp );

第四步:將臨時表裡的資料匯入statistic

insert into statistic select * from  s_tmp;

第五步:最後清空臨時表

delete * from s_tmp;

實現結果:(去重後)

刪除mysql表部分關鍵字段重複的記錄

清理statistic每天的重複資料 即 date server item subitem 完全相同,id肯定不同,value可能相同 先看一下statistic表結構 處理樣本 主要實現目的 刪除 date server item subitem 完全相同,id肯定不同,value可能相同的記錄 ...

MySQL新增字段,修改字段,刪除字段,修改表資訊

mysql的簡單語法,常用,卻不容易記住。當然,這些sql語法在各資料庫中基本通用。下面列出 一 查詢資訊 1.登入資料庫 mysql u root p 資料庫名稱 2.查詢所有資料表 show tables 3.查詢表的字段資訊 desc 表名稱 二 修改表資訊 1.修改表名 2.修改表注釋 三 ...

部分關鍵字段重複的記錄 保留最後記錄

表名 tablename 字段 id,code,logtime 資料如 id,code,logtime 1,a1234,2011 09 02 13 12 10 2,a1234,2011 09 03 13 12 10 3,a1237,2011 09 04 13 12 10 4,a1237,2011 0...