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

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

MySQL 去除重復數(shù)據(jù)實例詳解

2024-07-24 12:51:32
字體:
來源:轉載
供稿:網(wǎng)友

MySQL 去除重復數(shù)據(jù)實例詳解

有兩個意義上的重復記錄,一是完全重復的記錄,也即所有字段均都重復,二是部分字段重復的記錄。對于第一種重復,比較容易解決,只需在查詢語句中使用distinct關鍵字去重,幾乎所有數(shù)據(jù)庫系統(tǒng)都支持distinct操作。發(fā)生這種重復的原因主要是表設計不周,通過給表增加主鍵或唯一索引列即可避免。

select distinct * from t;

對于第二類重復問題,通常要求查詢出重復記錄中的任一條記錄。假設表t有id,name,address三個字段,id是主鍵,有重復的字段為name,address,要求得到這兩個字段唯一的結果集。

-- Oracle、MySQL,使用相關子查詢

select * from t t1 where t1.id = (select min(t2.id) from t t2 where t1.name = t2.name and t1.address = t2.address);

 -- Hive只支持在FROM子句中使用子查詢,子查詢必須有名字,并且列必須唯一

select t1.* from t t1, (select name, address, min(id) id from t group by name, address) t2 where t1.id = t2.id;

-- 還可以使用hive的row_number()分析函數(shù)

select t.id, t.name, t.address from (select id, name, address,row_number() over (distribute by name, address sort by id) as rn from t) t where t.rn=1;

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:

Mysql中存儲UUID去除橫線的方法mysql中如何去除小數(shù)點后面多余的0解析mysql中:單表distinct、多表group by查詢?nèi)コ貜陀涗沵ysql SELECT語句去除某個字段的重復信息
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 竹山县| 安仁县| 和硕县| 东乡族自治县| 郧西县| 醴陵市| 长阳| 哈密市| 方正县| 孝感市| 清流县| 新巴尔虎右旗| 丽江市| 兴义市| 荆门市| 浦江县| 靖西县| 许昌市| 泽州县| 措勤县| 通山县| 行唐县| 萝北县| 漳州市| 邵武市| 大石桥市| 旺苍县| 大姚县| 云安县| 雷波县| 金乡县| 河池市| 定远县| 瑞金市| 阿拉善左旗| 阿拉尔市| 东山县| 遂川县| 东方市| 兴业县| 遂川县|