面試官:說一下row_number等3大排名函數的區別

2021-02-19 大數據私房菜


面試官:說一下row_number,rank和dense_rank的區別

答:啥,我不知道呀,沒用過

面試官:好的,今天咱們就先到這吧,回去等通知!

一 數據準備

create table wedw_tmp.t_province_people_cnt_info_df(

 province_name string  COMMENT '省份'

,people_cnt    int     COMMENT '人口數'

)

row format delimited fields terminated by ',';

select * from wedw_tmp.t_province_people_cnt_info_df;

+-+---+--+

| province_name  | people_cnt  |

+-+---+--+

| 江西             | 100         |

| 浙江             | 200         |

| 雲南             | 200         |

| 江蘇             | 200         |

| 河南             | 300         |

| 廣東             | 400         |

| 湖南             | 400         |

| 湖北             | 500         |

+-+---+--+

二 row_number

select 

province_name

,people_cnt

,row_number() over(order by people_cnt asc) as rn

from

wedw_tmp.t_province_people_cnt_info_df

;

三 rank

select 

province_name

,people_cnt

,rank() over(order by people_cnt asc) as rn

from

wedw_tmp.t_province_people_cnt_info_df

;

四 dense_rank

select 

 province_name

,people_cnt

,dense_rank() over(order by people_cnt asc) as rn

from

wedw_tmp.t_province_people_cnt_info_df

;

五 區別

row_number:不管排名是不是有相同的,都按照順序1,2,3…..n

rank:排名相同的名次一樣,同一排名有幾個,後面排名就會跳過幾次,如1 2 2 2 5 6 6 8

dense_rank:排名相同的名次一樣,且後面名次不跳躍 如 1 2 2 2 3 4 4 5

2020大數據面試題真題總結(附答案)

一文探究數據倉庫體系(2.7萬字建議收藏)

一文探究Hadoop(3萬字長文,建議收藏)

一文帶你走進HIVE的世界(1.8W字建議收藏)

一文帶你全方位了解Flink(3.2W字建議收藏)

你要悄悄學會HBase,然後驚豔所有人(1.7萬字建議收藏)

一文帶你深入了解kafka並提供52道企業常見面試題(1.8W字建議收藏)

非常全面的DolphinScheduler(海豚調度)安裝使用文檔

Hive調優,數據工程師成神之路

數據質量那點事

簡述元數據管理

簡單聊一聊大數據學習之路

沒有夢想,何必遠方

相關焦點

  • SQL中的ROW NUMBER() OVER()
    select id,name,age,salary,row_number()over(order by salary
  • 3道常見的SQL筆試題,你要不要來試試!
    不用擔心,本篇博客,博主整理了幾道在面試中高頻出現的「SQL」筆試題,助你在接下來的面試中一往無前,勢如破竹!         1、查詢連續登陸3天以上的用戶        這是一道非常經典的問題,這裡提供其中一種思路。
  • row函數
    星標★ROW函數是用來確定光標的當前行位置的函數 。語法:ROW(reference)如果省略 reference,則假定是對函數ROW單元格的引用。ROW函數不能引用多個區域。ROW()函數包含向後兼容性。用CurrentY屬性代替 。
  • row和column函數的用法
    在很多公式中都看到過row和column函數的身影,今天我們學習一下這兩個函數的用法。
  • 吊打面試官 | 騰訊經典考點-寫代碼實現atoi函數
    視頻後還附有文字版本哦▼《騰訊經典考點-寫代碼實現atoi函數》▼ps:請在WiFi環境下打開,如果有錢任性請隨意在騰訊面試時
  • SQL必備:case when函數與窗口函數
    學會使用窗口函數將會使得一些關於排名或累加的複雜問題的求解變得非常簡便。例如牛客網SQL76:寫一個sql語句查詢各個崗位分數的中位數位置上的所有grade信息,並且按id升序排序。這裡涉及到了中位數的信息,用窗口函數會很方便。
  • 常見SQL面試題知識點+使用技巧
    最後,他們在迭代中浪費了很多面試時間,甚至可能到最後都沒有找到正確的解決方案。我建議大家在參加SQL面試時,就當成是自己在和業務夥伴共事。所以在你提供解決方案之前,應該要針對數據請求了解清楚所有的需求。這裡你應該要求面試官說清楚「前三名」具體是什麼意思。我應該在結果中包括 3 名員工嗎?你要我怎樣處理關係?此外,請仔細檢查樣本員工數據。
  • 大數據開發工程師面試題(附答案)
    說一說Spark程序編寫的一般步驟?3. Spark提交你的jar包時所用的命令是什麼?我:submit。 面試官:spark-submit? 我:嗯,spark-submit。4. Spark有哪些聚合類的算子,我們應該儘量避免什麼類型的算子?
  • Row函數在Excel數組公式中的應用
    絕大多數excel數組公式中,都可以看到row函數的身影,那麼row函數到底起到什麼作用呢?我們先從它的基本用法說起。
  • 百分比排名函數的使用
    百分比排名主要用於成績分數等統計計算。
  • 【Excel視頻教學】rank函數製作成績排名
    大家好,本視頻主要講解利用rank函數製作成績排名 首先我們來看一下案例,在本案例中有253條數據需要對這253條數據進行排名,在排名製作過程中需要注意的是成績並列的情況 好,我們來看一下知識點rank函數有三個參數(number,ref,[order])第一參數為Number 必須。意思是需要找到排位的數字。 第二個參數是Ref,也是必需。意思是數字列表數組或對數字列表的引用。Ref 中的非數值型值將被忽略。第三個參數是Order ,可選。
  • 看看excel高手是怎樣玩row函數!
     提示:點擊上方"excel教程"↑免費訂閱  您是否和我一樣菜,是否還不知excel中row是什麼意思,excel中row函數的使用方法?  OK,那我們先來看看row函數基本用法:  ROW() 返回當前行的行數。比如ROW(A1)返回A1單元格的行數1, ROW(B5)返回B5單元格的行數5,又比如ROW(),是返回當前行的行數。  難道row函數就是拿來做這麼個事兒的嗎?:)  來看看excel高手們是怎樣玩row函數,他們更多是和其它函數嵌套完成一些複雜操作。
  • 超實用Excel多條件排名,筆試面試綜合分數排序,計算排名超快速
    今天跟大家分享一下EXCEL中多條件排名。當分數相同,完成時間越快的排名越高,怎麼做到呢?如果覺得幫幫真的幫到了您,分享分享朋友圈呀,親們^^<——非常重要!!!メ大家請看範例圖片,十名選手的成績如下,我們可以看到D與F的筆試成績相同,面試成績有差異。メ
  • Excel中ROW、COLUMN函數
    這是兩個簡單的函數,相信通過下面的實例就容易理解了。1.返回引用的行號。語法,ROW([reference]),ROW 函數語法具有下列參數:Reference    可選。 需要得到其行號的單元格或單元格區域。如果省略 reference,則假定是對函數 ROW 所在單元格的引用。
  • 面試官:什麼東西原本是小的,動幾下就變大?姑娘說5字,被錄用
    又有一批大學生畢業,職場之路可謂是充滿競爭,而這樣的競爭,從面試開始。過去的面試相對簡單,只要你準備充分了,一般都能過,而如今,時光趨於年輕化,思維也跟過去的老一輩面試官不一樣了。現在的很多面試官都會臨時提問,問一些發散性的問題,通過求職者的回答,確定誰更加優秀,從而就錄用誰。
  • Excel之Rank函數:用公式排名.
    這樣就完成了對成績的排序,但同時班級列也按成績排序而被打亂順序了,如果我們想看到一個班裡的同學在所有同學中的排名情況怎麼做呢?這時我們就可以不用排序,而用公式Rank來進行排名;Rank,返回一列數字的數字排位,小夥伴們要注意,這裡是「一列數字」,所以我們在公式中引用的一定是在一列中的數據區域;我們看下公式:=RANK(number,ref,[order])即=Rank(排位的數字[一般為所選數據區域的第一個單元格],要進行排序的數據區域
  • 7 個沙雕又帶有陷阱的 JS 面試題
    typeofb 結果是 'number'。b 是一個值為 0 的全局變量2. 數組的 length 屬性面試官問clothes[0] 的值是什麼?3.考驗眼力的魔幻題面試官問下面代碼中 numbers 數組的內容是什麼? 注意 for() 後加了一個分號( ;),真是沙雕。
  • Excel的應用7-排名函數(Rank)的使用
    同學們,通過之前的學習我們已經了解了幾個簡單函數的用法,但學習、工作中我們還會用到其他的函數功能,比如也經常會用到的排名函數,這個函數的名稱是Rank
  • 當面試官問你有沒有問題想要問……
    這幾天我在跳槽面試,看了地裡一些面經,結合自己以前做面試官的經驗,感覺大家在向面試官提問的問題比較弱,所以和大家分享一下我一般會問面試官的問題,希望能幫到大家。也希望大家分享一些自己的問題。首先,大家應該擺正心態。雖然說是你在求職,但是面試應該是對等和雙向的關係。對方在測試你的能力,你也要考察面試公司是否適合你。