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

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to