Postgresql 9.2+のhaving句で集約関数の値を使用する方法はありますか?
monkey_id
たとえば、2 番目に高いnumber
> 123 と 2 番目に高い数値をそれぞれ取得したいと思います。以下の例では、(monkey_id 1, number 222) を取得したいと思います。
monkey_id | number
------------------
1 | 222
1 | 333
2 | 0
2 | 444
SELECT
monkey_id,
(array_agg(number ORDER BY number desc))[2] as second
FROM monkey_numbers
GROUP BY monkey_id
HAVING second > 123
私は得るcolumn "second" does not exist
。