Re: sub-limiting a query - Mailing list pgsql-sql

From M.P.Dankoor
Subject Re: sub-limiting a query
Date
Msg-id 45D747B4.5050900@gmail.com
Whole thread Raw
In response to sub-limiting a query  (Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>)
Responses Re: sub-limiting a query  (Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>)
List pgsql-sql
Louis-David Mitterrand wrote:
> Hello,
>
> I've got a table of shows with different types (movie, theater, 
> ballet,etc.) and I am looking for a select that can return the 10 last 
> entered shows AND at most 2 of each type. Is that possible in one query?
>
> The table looks basically like:
>
>     created_on      | timestamp without time zone 
>     show_name       | text 
>     id_show         | integer                     
>     show_type       | text                        
>     id_show_subtype | integer                     
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>
>   
I thought of another solution, actually it's of those top n query tricks 
that I picked up somewhere, can't remember
where.
Assuming that your table is called shows, the following query should 
give you the results you want (hope so)

SELECT *
FROM shows a
WHERE 3 > (SELECT COUNT(*)          FROM shows b          WHERE b.created_on >= a.created_on          and a.show_type =
b.show_type)

Mario


pgsql-sql by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: sub-limiting a query
Next
From: Louis-David Mitterrand
Date:
Subject: Re: sub-limiting a query