Hive數(shù)據(jù)去重的兩種方式?(distinct和group?by)
實現(xiàn)數(shù)據(jù)去重有兩種方式 :distinct 和 group by
1.distinct消除重復(fù)行
distinct支持單列、多列的去重方式。
單列去重的方式簡明易懂,即相同值只保留1個。
多列的去重則是根據(jù)指定的去重的列信息來進行,即只有所有指定的列信息都相同,才會被認(rèn)為是重復(fù)的信息。
(1)作用于單列
select distinct name from A //對A表的name去重然后顯示
(2)作用于多列
select distinct id,name from A //對A表的id和name去重然后顯示
注意,distinct作用于多列的時候只在開頭加上即可,并不用每個字段都加上。
distinct必須在開頭,在中間是不可以的,會報錯。
select id,distinct name from A //錯誤
(3)配合count使用
select count(distinct name) from A //對A表的不同的name進行計數(shù)
2.group by 分組語句
select name from A group by name //跟上述等價,對name分組,相當(dāng)于去重。
在使用group by的時候,前邊一般會有聚合語句,例如sum,一些沒有聚合的字段必須要加到group by 后邊。
select a,sum(b) from A group by a //后邊必須要有a,否則報錯
3.區(qū)別
其實二者沒有什么可比性,但是對于不包含聚集函數(shù)的GROUP BY操作來說,和DISTINCT操作是等價的。不過雖然二者的結(jié)果是一樣的,但是二者的執(zhí)行計劃并不相同。
distinct只是將重復(fù)的行從結(jié)果中出去;
group by是按指定的列分組,一般這時在select中會用到聚合函數(shù)。
distinct是把不同的記錄顯示出來。
group by是在查詢時先把紀(jì)錄按照類別分出來再查詢。
group by 必須在查詢結(jié)果中包含一個聚集函數(shù),而distinct不用。
總結(jié)
到此這篇關(guān)于Hive數(shù)據(jù)去重的兩種方式的文章就介紹到這了,更多相關(guān)Hive數(shù)據(jù)去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Navicat?Premium自定義?sql?標(biāo)簽的創(chuàng)建方式
Navicat 中可以自定義一下sql語句的標(biāo)簽,方便開發(fā)者使用,這篇文章主要介紹了Navicat?Premium自定義sql標(biāo)簽的創(chuàng)建方式,包括自定義標(biāo)簽創(chuàng)建方式,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
一步步教你使用Navicat工具創(chuàng)建MySQL數(shù)據(jù)庫連接
Navicat是一套快速、可靠并價格相當(dāng)便宜的數(shù)據(jù)庫管理工具,專為簡化數(shù)據(jù)庫的管理及降低系統(tǒng)管理成本而設(shè),下面這篇文章主要給大家介紹了關(guān)于如何使用Navicat工具創(chuàng)建MySQL數(shù)據(jù)庫連接的相關(guān)資料,需要的朋友可以參考下2023-03-03
在SQL Server和Oracle中創(chuàng)建job
有的時候,我們可能需要在數(shù)據(jù)庫中設(shè)定一些自動執(zhí)行的任務(wù)(job),以此來自動完成一些包括統(tǒng)計、備份方面的需求,下面就簡單說明一下有關(guān)ms server和oracle兩種數(shù)據(jù)庫中如何新建自動任務(wù)。2009-06-06
大數(shù)據(jù)量,海量數(shù)據(jù)處理方法總結(jié)
大數(shù)據(jù)量的問題是很多面試筆試中經(jīng)常出現(xiàn)的問題,比如baidu google 騰訊這樣的一些涉及到海量數(shù)據(jù)的公司經(jīng)常會問到。2010-11-11
使用sqlalchemy-gbasedbt連接GBase 8s數(shù)據(jù)庫的步驟詳解
這篇文章主要介紹了使用sqlalchemy-gbasedbt連接GBase 8s數(shù)據(jù)庫的步驟詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)詳解之三級模式結(jié)構(gòu)
這篇文章主要為大家介紹了數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu),文中通過圖文的方式詳細(xì)的解析了數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的三級模式結(jié)構(gòu),有需要的朋友可以借鑒參考下2021-09-09

