2017-04-12 6 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

合計(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

HAHINGを使用しているAhhh。完全に私の心を失った。ありがとうございました! –

+0

問題が解決した場合は、アップしてください。 – Kapil