国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 阿瓦提县| 化德县| 五家渠市| 南汇区| 鱼台县| 静乐县| 镇原县| 丹东市| 桐柏县| 灌阳县| 延边| 江城| 姜堰市| 乐清市| 沈丘县| 高唐县| 崇左市| 孟村| 同德县| 岚皋县| 巴青县| 仁怀市| 衡南县| 万载县| 吉林省| 巍山| 绍兴县| 双流县| 柳河县| 新丰县| 灵丘县| 西林县| 北宁市| 阜南县| 会泽县| 苗栗县| 汤原县| 依安县| 芦溪县| 公主岭市| 双柏县|