国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql 數(shù)據(jù)庫超強(qiáng)刪除重復(fù)數(shù)據(jù)語句

2024-07-24 12:37:37
字體:
供稿:網(wǎng)友

在mysql中刪除重復(fù)數(shù)據(jù)的方法各千種,但我百度了N種刪除重復(fù)數(shù)據(jù)方法,個(gè)人測試小數(shù)據(jù)量還沒有問題,大數(shù)據(jù)量就卡死了,下面我來介紹超強(qiáng)刪除重復(fù)數(shù)據(jù)語句實(shí)例,各位朋友有興趣可參考.

月小升今天遇到的問題是students這個(gè)表有md這個(gè)字段重復(fù),看看如何處理吧,代碼如下:

  1. select * from students 
  2. where md in (select md from students group by md having count(md) > 1) order by md 

注明,這個(gè)被group的字段,請索引,否則很慢,代碼如下:

  1. delete from students 
  2. where md in (select md from students group by md having count(md) > 1) 
  3. and id not in (select min(id) from students group by md having count(md )>1) 

這個(gè)語句在mysql下會(huì)報(bào)錯(cuò):#1093 – You can’t specify target table ‘students’ for update in FROM clause

原因是好像mysql不準(zhǔn)許我們進(jìn)行聯(lián)合刪除內(nèi)有條件語句指向自己的表,策略是使用臨時(shí)表,存儲(chǔ)那些要?jiǎng)h除的ID,代碼如下:

  1. create table tmp (id int); 
  2. insert into tmp (id) select id from students 
  3. where md in (select md from students group by md having count(md) > 1) 
  4. and id not in (select min(id) from students group by md having count(md )>1);  --Vevb.com 
  5. delete from students where id in (select id from tmp); 

得出會(huì)被刪除的數(shù)據(jù),代碼如下:

  1. select * from students 
  2. where md in (select md from students group by md having count(md) > 1) 
  3. and id not in (select min(id) from students group by md having count(md )>1) 

得出過濾后的數(shù)據(jù),不刪除的數(shù)據(jù),如果不用刪除,此sql語句可以用來顯示唯一數(shù)據(jù),代碼如下:

  1. select * from students 
  2. where 
  3. id in (select min(id) from students group by md having count(md )>1)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 潜江市| 库尔勒市| 兰考县| 湖州市| 南澳县| 肇源县| 卢湾区| 五常市| 安新县| 屏南县| 葵青区| 固原市| 南岸区| 界首市| 厦门市| 临桂县| 台山市| 万宁市| 保康县| 呈贡县| 岫岩| 鹤岗市| 渭源县| 延边| 庆阳市| 卓尼县| 房山区| 上蔡县| 玛沁县| 呼伦贝尔市| 桦甸市| 启东市| 聂荣县| 洮南市| 东乡县| 龙游县| 正宁县| 苍南县| 临湘市| 阳朔县| 洪雅县|