私は学校で働いている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) ;
は、論理的に私はそれが間違っている知っているため、それだけでは与えられたテーブル内のすべてのパケットサイズの合計を返しますという事実のために:これは私がこれまでにしようとしているものです。私はそれがエラーを投げることなくそれを動作させるためにとにかく来るように思われる。どんな助けもありがとう!
どのDBMSを使用していますか? Postgres?オラクル? –
合計(traffic.packetsize)> 200ですか? – StanislavL
これはMySQLでした。 HAVINGを使用することは私の心を完全に滑り込ませた。助けてくれてありがとう! –