平均の計算に使用する行を制限したいクエリ (postgresql) があります。
SELECT username,avg(income),count(*) FROM
Events
WHERE to_timestamp(eventtimestamp) >= '2008-02-23' AND
to_timestamp(eventtimestamp) <= '2009-01-03' and username='Joe'
GROUP BY userid
Joe には 40 のエントリがありますが、収入の平均を計算するために使用される行数を制限したいと考えています。クエリの最後に追加できるlimit関数を認識していますが、これは、クエリの先頭にあるaverageコマンドによって考慮される行ではなく、クエリ全体の出力を制限します。avg に最初の n 行のみを使用するように指示する方法はありますか?
例:機能しない
SELECT username,avg(income) limit 5,count(*) FROM
Events
WHERE to_timestamp(eventtimestamp) >= '2008-02-23' AND
to_timestamp(eventtimestamp) <= '2009-01-03' and username='Joe'
GROUP BY userid
最初の 5 行だけを平均化します。
ありがとう!