-1
你好,我對Hive很新,並且正在學習Hive的WINDOWING功能。我遇到了一個問題。Hive Windowing ORDER BY
我試圖找到的最低收盤價爲每個股票代碼(每個股票有22條記錄,我想找到最低) 我寫了一個查詢:
SELECT ticker, close FROM
(SELECT ticker, close, RANK() OVER (PARTITION BY ticker) AS rank FROM stocks) AS p
WHERE rank = 1 LIMIT 10;
我得到的結果
ticker close
A 28.15
A 27.93
A 28.82
A 27.84
A 28.29
A 28.46
A 27.58
A 28.73
A 29.82
A 29.3
但我希望每個股票都有一個。
然後我跑了相同的查詢倒是ORDER BY子句
SELECT ticker, close FROM
(SELECT ticker, close, RANK() OVER (PARTITION BY ticker ORDER BY close) AS rank FROM stocks) AS p
WHERE rank = 1 LIMIT 20;
而且我得到了理想的結果。
ticker close
A 27.16
AA 10.57
AAPL 247.64
ABC 28.71
ABT 48.68
ACE 52.43
ADBE 27.36
ADI 28.07
ADM 27.0
ADP 39.4
我在這裏的問題是如何通過分組代碼?
爲什麼組內的排名相同,實際上當我運行排名和密集排名時,每個人對排名和密集排名都有價值1? – Dereck
你能創建一個插入腳本來重現這個問題嗎? – hlagos