GROUPBY語句及HAVING語句怎么用

這篇文章主要講解了“GROUP BY語句及HAVING語句怎么用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“GROUP BY語句及HAVING語句怎么用”吧!

目前創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、天祝藏族自治網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

GROUP BY 語句


創(chuàng)建一個股價交易表
CREATE EXTERNAL TABLE IF NOT EXISTS stocks (
     exchange     STRING,
     symbol         STRING,
     ymd              STRING,
     price_open    FLOAT,
     price_high     FLOAT,
     price_low       FLOAT,
     price_close     FLOAT,
     volume           INT,
     price_adj_colse   FLOAT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOATION '/data/stocks';

eg:按照年份對股票記錄進(jìn)行分組,然后計算每年的平均收盤價
hive>SELECT year(ymd),avg(price_close) FROM stocks
       >WHERE exchange='NASDAQ' AND symbol='AAPL'
       >GROUP BY year(ymd);
1984    25.57
1985    20.54
1986    32.46
1987    53.89
1988    41.66
1989    37.56
1990    52.50
...

HAVING 語句
HAVING子句允許我們通過一個簡單語法完成原本需要通過子查詢才能對GROUP BY語句產(chǎn)生分組進(jìn)行條件過濾的任務(wù)。

eg:如下是對前面的查詢語句增加一個HAVING語句來限制輸出結(jié)果中年平均收盤價要大于50.0
hive>SELECT year(ymd),avg(price_close) FROM stocks
       >WHERE exchange='NASDAQ' AND symbol='AAPL'
       >GROUP BY year(ymd)
       > HAVING avg(price_close) >50.0;
1987    53.89
1990    52.50
...

如果沒使用HAVING子句,那么這個查詢將需要使用一個嵌套子查詢:
hive>SELECT s2.year,s2.avg FROM
       >(SELECT year(ymd) AS year,avg(price_close) AS avg FROM stocks
       >WHERE exchange='NASDAQ' AND symbol='AAPL'
       >GROUP BY year(ymd) ) s2
       >WHERE s2.avg>50.0;
1987    53.89
1990    52.50
...

感謝各位的閱讀,以上就是“GROUP BY語句及HAVING語句怎么用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對GROUP BY語句及HAVING語句怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

名稱欄目:GROUPBY語句及HAVING語句怎么用
本文網(wǎng)址:http://muchs.cn/article28/pdjjjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、品牌網(wǎng)站設(shè)計、小程序開發(fā)、云服務(wù)器品牌網(wǎng)站制作、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營