MySQL 過濾重復數據
創新互聯是一家專業提供湞江企業網站建設,專注與成都做網站、成都網站制作、H5開發、小程序制作等業務。10年已為湞江眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
有些 MySQL 數據表中可能存在重復的記錄,有些情況我們允許重復數據的存在,但有時候我們也需要刪除這些重復的數據。
如果你需要讀取不重復的數據可以在 SELECT 語句中使用 DISTINCT 關鍵字來過濾重復數據。
from 樹懶學堂- 一站式數據知識學習平臺
你也可以使用 GROUP BY 來讀取數據表中不重復的數據:
可以利用distinct關鍵字對需要處理的字段進行去重
使用group by關鍵字對去重數據進行去重查詢,針對某個字段查詢,直接group by 這個字段
在group by 的基礎上 也可以使用 having 對查詢結果進行二次篩選
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);
網站標題:mysql子查詢怎么去重 mysql根據某個字段去重查詢
文章出自:http://vcdvsql.cn/article16/dooohgg.html
成都網站建設公司_創新互聯,為您提供網站制作、標簽優化、自適應網站、網站維護、App開發、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯