2017-02-01 36 views
0

如何獲得豬的第三高薪,即使它包含重複。3rd豬的最高工資

請幫我解決這個問題。

輸入:

Sri 30000 
Abhi 15000 
SAS 15000 
mansa 18000 
asdf 5262 
dnaj 20000 
harda 20000 
+0

什麼是你想要的結果?你甚至說重複,但你不解釋你想如何處理它們。 – Andrew

回答

0

你可以做到這一點使用RANK並獲得排名記錄在不同的工資relation.I'll使用極限第三位。

A = LOAD 'data.txt' USING PigStorage('\t') AS (name:chararray,salary:int); 
B = FOREACH A GENERATE A.Salary; 
C = DISTINCT B; 
D = ORDER C BY C.$0 DESC; 
E = LIMIT D 3; 
F = ORDER E BY E.$0 ASC; 
G = LIMIT F 1; 
H = FILTER A BY (A.Salary = G.$0); 

Sri 30000 
Abhi 15000 
SAS 15000 
mansa 18000 
asdf 5262 
dnaj 20000 
harda 20000 

30000 
15000 
15000 
18000 
5262 
20000 
20000 

Ç

30000 
15000 
18000 
5262 
20000 

d

30000 
20000 
18000 
15000 
5262 

Ë

30000 
20000 
18000 

˚F

18000 
20000 
30000 

ģ

18000 

^h

mansa 18000 
相關問題