Re: an aggregate to return max() - 1 value?

Поиск
Список
Период
Сортировка
От Louis-David Mitterrand
Тема Re: an aggregate to return max() - 1 value?
Дата
Msg-id 20100306133127.GA6562@apartia.fr
обсуждение исходный текст
Ответ на Re: an aggregate to return max() - 1 value?  (Greg Stark <gsstark@mit.edu>)
Список pgsql-sql
On Thu, Mar 04, 2010 at 08:53:10PM +0000, Greg Stark wrote:
> SELECT col FROM tab ORDER BY col DESC OFFSET 1 LIMIT 1
> 
> In 8.4 OLAP window functions provide more standard and flexibility
> method but in this case it wouldn't perform as well:
> 
> postgres=# select i from (select i, rank() over (order by i desc) as r
> from i) as x where r = 2;
>  i
> ----
>  99
> (1 row)
> 
> postgres=# select i from (select i, dense_rank() over (order by i
> desc) as r from i) as x where r = 2;
>  i
> ----
>  99
> (1 row)

Wow, I didn't know about window functions until now. It's exactly what I
need.

Thanks Greg, and also thanks to others who sent their suggestion.

Cheers,


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Little, Douglas"
Дата:
Сообщение: Re: Check type compatibility
Следующее
От: Greg Stark
Дата:
Сообщение: Re: Does IMMUTABLE property propagate?