Re: getting maximum entry from a sum()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: getting maximum entry from a sum()
Дата
Msg-id 20747.1160146182@sss.pgh.pa.us
обсуждение исходный текст
Ответ на getting maximum entry from a sum()  (Jan Danielsson <jan.danielsson@gmail.com>)
Список pgsql-novice
Jan Danielsson <jan.danielsson@gmail.com> writes:
>    Essentially, I want:

> select dt,sum(amount) as asum where asum=(select max(asum) ...) group by dt

There are a couple ways you could do it:

* HAVING clause:

select dt,sum(amount) as asum
  group by dt
  having sum(amount) = (select max(asum) ...)

* ORDER BY/LIMIT:

select dt,sum(amount) as asum
  group by dt
  order by asum desc
  limit 1

The first is standard SQL, the second isn't (no LIMIT in the spec)
but the second is probably more efficient.

            regards, tom lane

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

Предыдущее
От: "A. Kretschmer"
Дата:
Сообщение: Re: getting maximum entry from a sum()
Следующее
От: Darren R
Дата:
Сообщение: Re: postgresql db account