2017-04-14 78 views
-1

我有火花我敢轉換爲不是Temptable有三列,航班號,產地機場和離港延遲拼花文件。沒有延遲的航班在延遲列中的值爲0(零),其餘爲具有延遲航班的分鐘數。我想計算每個機場延誤的航班的百分比。計數()與選擇

我試圖做到這一點的一種方式是獲取機場的總航班並將該數字與該機場延誤的航班數量相除。以下是我正在使用的查詢:

select Origin as cur_origin, count(Origin) as totalCount, (select count(*) FROM flightData WHERE Origin=cur_origin AND DepDelay>0) as delayedCount FROM flightData GROUP BY Origin;

P.S.在上面的查詢中,我不是將這兩個數字分開,而是試圖顯示它們以進行調試。

但是,這給我的錯誤:無法解析的運營商聚集地

誰能告訴我什麼我做錯了,或者這方面的任何其他解決方案。

回答

0

試試這個,雖然你可能在count(Origin)方面有問題,因爲那是你的分組。

select 
    Origin as cur_origin, 
    count(Origin) as totalCount, 
    sum(if(DepDelay > 0,1,0)) as delayedCount 
FROM flightData 
GROUP BY Origin 
+0

它的工作原理。感謝那!! –