2017-04-12 129 views
0

我有一個SQL工作,我正在爲學校工作(只是一系列的查詢和子查詢問題),我已經完成了所有工作,但只有一個。以下是供參考的提示:SQL子查詢問題

10. Find the AM hours with total traffic load with 200 or more. 

我有第一部分的代碼,AM小時。它是這樣的:

select hour(traffic.ttime), sum(traffic.packetsize) 
from traffic 
where hour(traffic.ttime) <= 12 
group by hour(traffic.ttime); 

我不能弄清楚的唯一的事情是如何獲得只有200或更多的人。它應該只返回3行,但不管我嘗試它還是返回全部或非全部。我很確定這裏需要使用子查詢,但我似乎無法弄清楚。這是我到目前爲止已經試過:由於它只會返回所有的數據包大小的總和在給定的表

select hour(traffic.ttime), sum(traffic.packetsize) 
from traffic 
where hour(traffic.ttime) <= 12 and (select sum(traffic.packetsize) from 
traffic)>=200 
group by hour(traffic.ttime) ; 

按道理我知道這是不正確。無論如何,我都不能想出它的方法,而不會拋出錯誤。任何幫助,將不勝感激!

+0

您正在使用哪些DBMS? Postgres的?甲骨文? –

+0

HAVING sum(traffic.packetsize)> 200? – StanislavL

+0

這是MySQL。使用HAVING完全放棄了我的想法。謝謝你們的幫助! –

回答

0
select hour(traffic.ttime), sum(traffic.packetsize)from traffic where hour(traffic.ttime) <= 12 group by hour(traffic.ttime) having sum(traffic.packetsize)>=200 
+0

Ahhh使用HAVING。完全滑了我的腦海。謝謝! –

+0

如果它解決了您的問題,請upvote或標記爲答案 – Kapil