目錄
回复内容:
首頁 後端開發 php教程 mysql如何去除两个字段数据相同的记录?

mysql如何去除两个字段数据相同的记录?

Jun 17, 2016 am 08:32 AM
admin com email name

比如说有个name列和一个eamil列,如果数据库里面有条记录的这两列的值相同(我说的是这条记录的对应的那两列的值相同,并不是同一条记录里面两列值相同)的话就自动删除其他多余的列而保留最新的那一条(也就是ID最小的那个,ID是一个自增主键)
——————————————————
也就是说表里面有两条记录的name都是admin,email都是abc@163.com,我只想保留其中一条,这该怎么做

回复内容:

其实你会用英文搜索的话。可以很方便在stack overflow上 找到相关的信息 真的学CS的就不要用百度了 用google你会发现一个不一样的世界的
随便贴一个
sql - How can I remove duplicate rows?

稍微讲一下其中一个思路(里面有很多很好的答案 你可以自己去看)
就是做一个group by 保留其中id 最大的(你说自增长 id最大的应该就是最新的)就可以了
具体sql query 可以这样写
<span class="k">delete</span> <span class="k">from</span> <span class="n">test</span> <span class="k">where</span> <span class="n">id</span> <span class="k">not</span> <span class="k">in</span><span class="p">(</span>
<span class="k">select</span> <span class="n">name</span><span class="p">,</span><span class="n">email</span><span class="p">,</span><span class="k">max</span><span class="p">(</span><span class="n">id</span><span class="p">)</span> <span class="k">from</span> <span class="n">test</span> 
<span class="k">group</span> <span class="k">by</span> <span class="n">name</span><span class="p">,</span><span class="n">email</span> <span class="k">having</span> <span class="n">id</span> <span class="k">is</span> <span class="k">not</span> <span class="k">null</span><span class="p">)</span> 
登入後複製
distinct 如果要保留id的最小值,例如:
数据: mysql如何去除两个字段数据相同的记录?
执行sql:select count(*) as count ,name,id from ceshi group by name
mysql如何去除两个字段数据相同的记录?最后要删除的sql为:delete from ceshi where id not in (select count(*) as count ,name,id from ceshi group by name)

如果想保留id的最大值:
简单的办法是:delete from ceshi where id not in (select count(*) as count ,name,id from (select * from ceshi order by id desc) group by name) distinct 其实非常的简单,只需要把你这张表当成两张表来处理就行了。
DELETE p1 from TABLE p1, TABLE p2 WHERE p1.name = p2.name AND p1.email = p2.email AND p1.id 这里有个问题,题主说保留最新的那一条(也就是ID最小的那个),既然是递增,最新的不应该是最大的那条吗?
上面的的语句,p1.id '即可。
当然是用group by,count可以更精准控制重复n次的情况。不过目测楼主需求应该只要把重复的删掉,保留最新的就可以了。 DELETE FROM table WHERE id not in ( SELECT
tb.id FROM ( SELECT tmp.* FROM table tmp ) tb GROUP BY tb.field1, tb.field2,… );
table是表名,field是要去重的字段。 新建一个表,设置name,email为唯一索引,然后重新插入旧表数据
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

鴻蒙原生應用隨機詩詞 鴻蒙原生應用隨機詩詞 Feb 19, 2024 pm 01:36 PM

想了解更多關於開源的內容,請造訪:51CTO鴻蒙開發者社群https://ost.51cto.com運行環境DAYU200:4.0.10.16SDK:4.0.10.15IDE:4.0.600一、建立應用程式點擊File- >newFile->CreateProgect。選擇模版:【OpenHarmony】EmptyAbility:填寫項目名,shici,應用包名com.nut.shici,應用儲存位置XXX(不要有中文,特殊字符,空格)。 CompileSDK10,Model:Stage。 Device

Python如何使用email、smtplib、poplib、imaplib模組收發郵件 Python如何使用email、smtplib、poplib、imaplib模組收發郵件 May 16, 2023 pm 11:44 PM

一封電子郵件的旅程是:MUA:MailUserAgent-郵件使用者代理程式。 (即類似Outlook的電子郵件軟體)MTA:MailTransferAgent-郵件傳輸代理,就是那些Email服務供應商,例如網易、新浪等等。 MDA:MailDeliveryAgent-郵件投遞代理。 Email服務提供者的某個伺服器寄件者->MUA->MTA->MTA->若

comcn和com有什麼差別 comcn和com有什麼差別 May 12, 2023 pm 04:08 PM

comcn和com的區別:1、comcn和com在含義等方面有區別,在訪問速度上沒有區別;2、comcn屬於國際域名,是全球通用頂級域名,供商業機構使用,而cn是中國的公司域名,國內商業機構,國內域名,必須企業才可以備案;3、搜尋的優先順序是cn先會去搜尋.cn,找到.cn伺服器後,再由.cn伺服器搜尋.com;4、cn由cnnic中國網路中心管理,com的管理機構在國外。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

springboot admin監控的作用和使用方法是什麼 springboot admin監控的作用和使用方法是什麼 May 25, 2023 pm 06:52 PM

適用場景:1、專案規模不大2、用戶量不是很大、並發要求不強3、無專門運維力量4、精緻的團隊規模對於一些常規的項目,或者企業職責分工不是非常明確的單位來說。往往一個系統從需求到設計,開發,測試到最終上線,維運。往往80%的任務由開發團隊來完成。由此,開發人員除了要實現系統的功能,也要為客戶進行問題諮詢答疑以及生產問題解決。試想,一個應用程式上線後,沒有任何監控措施。跟開著一輛沒有任何儀錶板的車一樣,這樣上路,任何人都沒有安全感。如何在極簡和追求效率上做平衡是一件特別值得思考的事情。一、Springb

您需要admin提供的權限才能對此文件進行更改怎麼解決 您需要admin提供的權限才能對此文件進行更改怎麼解決 Jul 26, 2023 am 10:56 AM

您需要admin提供的權限才能對此文件進行更改解決方法:1、在登入介面選擇管理員帳戶並輸入密碼後,就可以順利對文件進行修改了;2、可以透過右鍵點擊文件選擇「以管理員身份運行”的方式解決;3、修改文件權限,右鍵點擊文件,選擇“屬性”,點擊“安全性”選項卡,然後點擊“編輯”按鈕,選擇自己的用戶名,然後勾選“完全控制”選項;4、利用命令提示字元解決問題;5、設定UA權限。

如何使用Flask-Admin實現後台管理介面 如何使用Flask-Admin實現後台管理介面 Aug 03, 2023 pm 11:30 PM

如何使用Flask-Admin實現後台管理介面背景介紹:隨著網站和應用程式的發展,後台管理介面越來越重要。在開發過程中,我們經常需要一個方便快速的後台管理介面來管理資料、使用者和其他重要資訊。 Flask-Admin是一個強大且易於使用的Flask擴展,可幫助我們快速實現後台管理介面。 Flask-Admin是基於Flask和SQLAlchemy的一個開源項

win10信箱如何插入附件教學課程 win10信箱如何插入附件教學課程 Jan 07, 2024 pm 12:14 PM

許多使用者在日常生活中都需要發送郵件來進行工作,有些更是需要附加各種插件資料進行交流,那麼該怎麼插入附件呢?下面就一起來看看詳細的教學。 win10信箱如何插入附件:1、開啟信箱2、點選左上角的「新郵件」圖示3、點選右上角「插入」4、點選右上角「附件」5、選擇需要的「附件」6、完成即可

See all articles