Re: LIMIT and SUBQUERIES

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: LIMIT and SUBQUERIES
Дата
Msg-id 200303050942.30076.dev@archonet.com
обсуждение исходный текст
Ответ на LIMIT and SUBQUERIES  (cprice@hrdenterprises.com (Chris))
Список pgsql-general
On Monday 03 Mar 2003 6:52 pm, Chris wrote:
> owner int
> description text
> amount double
>
> I want to do a select that returns the TOP 5 records ordered by
> amount, PER OWNER.  I can easily construct this SQL query, the problem
> arises in the fact that I want to have groups of the top five per
> owner (an owner can obviously have more than 5 records, but I just
> want the top 5 for each).

richardh=# SELECT * FROM foo;
 id | a | b
----+---+----
  1 | a | 10
  2 | a | 11
  3 | a | 12
  4 | b |  5
  5 | b |  6
  6 | b |  7
(6 rows)

richardh=# SELECT * FROM foo WHERE foo.id IN
(SELECT f.id FROM foo f WHERE f.a=foo.a ORDER BY b DESC LIMIT 2);
 id | a | b
----+---+----
  2 | a | 11
  3 | a | 12
  5 | b |  6
  6 | b |  7
(4 rows)

This query may be slow however.

--
  Richard Huxton

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

Предыдущее
От: Tony Grant
Дата:
Сообщение: Re: Demande d'information
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_ctl -m fast failing?