mysql根據兩個欄位刪除重複數據,sql兩條重複數據刪除一條

本文目錄一覽:

請問在mysql中如何刪除 兩個欄位相同的數據?

delete

from

dede_archives

where

[標題]=[標題]

and

[作者]=[作者]這個應該是不行的。我是要把重複的刪除。但是要保留一條。比如有兩篇文章。他們的作者

和標題相同的。那麼這一般是重複的文章。所以我想把一篇刪除。保留一篇。因為數據比較多。所以要用sql語句執行。大家幫忙想想怎麼弄。是dedecms

裡面主鍵盤應該只是id號碼。大家幫忙一下啊。

mysql 根據兩個欄位值查詢時如何去除重複數據

假設表名為test:

select * from (select *, concat(name,code) as __f from test order by date desc) __t group by __f;

mysql如何去除兩個欄位數據相同的記錄

MySQL查詢重複欄位,及刪除重複記錄的方法

資料庫中有個大表,需要查找其中的名字有重複的記錄id,以便比較。如果僅僅是查找資料庫中name不重複的欄位,很容易:

SELECT min(`id`),`name` FROM `table` GROUP BY `name`;

但是這樣並不能得到說有重複欄位的id值。(只得到了最小的一個id值)查詢哪些欄位是重複的也容易:

SELECT `name`,count(`name`) as count FROM `table` GROUP BY `name` HAVING count(`name`) 1 ORDER BY count DESC;

但是要一次查詢到重複欄位的id值,就必須使用子查詢了,於是使用下面的語句。

SELECT `id`,`name` FROM `table` WHERE `name` in (

SELECT `name`

FROM `table`

GROUP BY `name` HAVING count(`name`) 1);

但是這條語句在mysql中效率太差,感覺mysql並沒有為子查詢生成零時表。於是使用先建立零時表:

create table `tmptable` as (

SELECT `name`

FROM `table`

GROUP BY `name` HAVING count(`name`) 1);

然後使用多表連接查詢:

SELECT a.`id`, a.`name` FROM `table` a, `tmptable` t WHERE a.`name` = t.`name`;

結果這次結果很快就出來了。

========================

查詢及刪除重複記錄的方法

(一)

1、查找表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷

select * from people

where peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)

2、刪除表中多餘的重複記錄,重複記錄是根據單個欄位(peopleId)來判斷,只留有rowid最小的記錄

delete from people

where peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)

and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )1)

3、查找表中多餘的重複記錄(多個欄位)

select * from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)

4、刪除表中多餘的重複記錄(多個欄位),只留有rowid最小的記錄

delete from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)

and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)1)

5、查找表中多餘的重複記錄(多個欄位),不包含rowid最小的記錄

select * from vitae a

where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)

and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)1)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153994.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-15 03:24
下一篇 2024-11-15 03:24

相關推薦

  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29
  • Python根據表格數據生成折線圖

    本文將介紹如何使用Python根據表格數據生成折線圖。折線圖是一種常見的數據可視化圖表形式,可以用來展示數據的趨勢和變化。Python是一種流行的編程語言,其強大的數據分析和可視化…

    編程 2025-04-29
  • Python如何打亂數據集

    本文將從多個方面詳細闡述Python打亂數據集的方法。 一、shuffle函數原理 shuffle函數是Python中的一個內置函數,主要作用是將一個可迭代對象的元素隨機排序。 在…

    編程 2025-04-29

發表回復

登錄後才能評論