0
select starttime, (select count(trackid) c2 from playlistitem p1 where
p2.radiobroadcastid = p1.radiobroadcastid) from radiobroadcast p2
OUTPUT:PostgreSQLどのようにサブクエリの出力でWHEREを使用するのですか?
Starttime c2
2011-10-14 20:00:00.0 42
2011-10-20 20:00:00.0 43
2011-10-07 09:00:00.0 7
私は(ここでは43のthats)のC2列のMAX私を示したいと思います。 c2が列として定義されていない場合、どうすればよいですか?
編集:おそらく、HAVINGにカウントにブール値としてのみ表示さMAX値にとにかく
select starttime, count(trackid) from radiobroadcast inner join playlistitem
using(radiobroadcastid) GROUP by starttime HAVING count(*) > 100
句 BY HAVINGおよびGROUPを使用する必要がありますか?
エイリアスであっても、WHEREを使用すると、'org.postgresql.util.PSQLException:ERROR:column "c2" does not exist "と表示されます。 (作品別注文) –
@RobVanMeirvenne:正しいですが、order by句でのみそのようなエイリアスを使用できます。しかし、 'order by 'と' limit'では、where句は必要ありません。 –
**ラジオ放送からのstarttime、count(trackid)の選択インナー・ジョイントplaylistitem(radiobroadcastid)GROUP by starttime HAVING count(*)> 100 **このコードでは、100より大きいすべての開始時間が表示されるようになりました。私のクラスはこれについて非常に悪い説明をしました。 –