Re: Multiple columns w/single aggregate

Поиск
Список
Период
Сортировка
От Ian Harding
Тема Re: Multiple columns w/single aggregate
Дата
Msg-id 3A6B5D30.FFFA4E4E@pakrat.com
обсуждение исходный текст
Список pgsql-general
"Robert M. Craver II" wrote:

> I cannot successfully execute the sql statement:
>
> SELECT percentage, MAX(start_date) FROM sometable
> WHERE id = 1
>
> I get the error message:
>
>    ERROR: Attribute sometable.percentage must be GROUPed
>    or used in an aggregate function
>
> I know that I have seen examples of selecting multiple columns with a
> single colunn aggregate function.  In fact, the new 'PostgreSQL:
> Introductions and Concepts' book by Bruce Momjian has two on page 53.
> Does anyone know why this doesn't work?
>
> Thanks in advance.

True, but you need to group by the non-aggregate columns.  In your case,
just add

GROUP BY percentage

This will give you a listing of all distinct 'percentage' values, and
the maximum of their 'start_date' values, that have id=1.  It will blow
up if there are any NULL in 'percentage' unlike some inferior products
that simply silently eliminate them for you.

Ian


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

Предыдущее
От: Cedar Cox
Дата:
Сообщение: Re: [INTERFACES] pl/pgSQL & transaction
Следующее
От: Alexander Jerusalem
Дата:
Сообщение: postgresql memory management?