2016-04-08 26 views
0

にAVG(COL)のMAXを決定します。私は平均到着遅延(arrdelay)が最も高く、目的地の空港(DEST)を取得したい次のように私はテーブルを持っているハイブ

year     int           
month     int           
dayofmonth    int           
deptime     int           
uniquecarrier   string          
flightnum    int           
arrdelay    int           
origin     string          
dest     string          

私が現在持っているもののようなものの原油を避けたい:

select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1; 

私はあらゆる種類のものを試してみたが、何もこれまで機能しません。 - それはちょうど私が上記から宛先を選択することはできません

select MAX(avgtime) from (SELECT dest as destination, avg(arrdelay) as avgtime FROM flightdelays GROUP BY dest) as maxdelay; 

が、これは動作しません修正:私は実際には最大平均時間自体を取得することができます。

アイデア?

ありがとうございました

答えて

0

最初のクエリについてはどういう意味ですか?それはあなたが平均の価値ではなく、 "dest"だけを望んでいるのですか?

その場合、選択し、追加を使用して検討してください。

select dest from (select dest, avg(arrdelay) as average from flightdelays GROUP BY dest ORDER BY average DESC LIMIT 1); 

ハイブは、あなたのSELECT文ではなく、フィールドで「で順序を」「でグループ」を使うかすることはできません、しかし、MySQLを例えばそうです。

関連する問題