Re: Antw: using max() aggregate

Поиск
Список
Период
Сортировка
От Gerhard Dieringer
Тема Re: Antw: using max() aggregate
Дата
Msg-id s94a07de.061@kopo001
обсуждение исходный текст
Ответ на Antw: using max() aggregate  ("Gerhard Dieringer" <DieringG@eba-haus.de>)
Ответы Re: Antw: using max() aggregate  (Louis-David Mitterrand <cunctator@apartia.ch>)
Список pgsql-sql
Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.fr wrote:

> ...
> Yes this would work nicely but if I need to add more conditional clauses
> I have to duplicate them in the main SELECT and in the sub-SELECT:
>
> SELECT title,max(stopdate)
> FROM auction
> WHERE stopdate = (SELECT max(stopdate) FROM auction AND stopdate > now()) 
> AND stopdate > now();
>
> Or am I missing something?
>
> Tom Lane suggested using:
>
> SELECT title,stopdate FROM auction ORDER BY stopdate LIMIT 1;
>
> which seems the best solution (I was a bit concerned about performance,
> but then again the max() aggregate does a scan of all rows as well).
> ...

I don't see why you repeat your conditions in the outer select. The condition in the inner select drops all records
thatviolate the conditions,
 
so the same conditions in the outer select have nothing to do and you can leave them away.

Tom's solution has the drawback, that if you have more than one record with the same max value you only get one of
them,but may be that you want
 
to see all of them.

Gerhard




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

Предыдущее
От: Louis-David Mitterrand
Дата:
Сообщение: Re: Antw: using max() aggregate
Следующее
От: Louis-David Mitterrand
Дата:
Сообщение: Re: Antw: using max() aggregate