這篇文章主要講解了“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)