From: | Jeff Davis <list-pgsql-general(at)empires(dot)org> |
---|---|
To: | Doug Fields <dfields-pg-general(at)pexicom(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: ORDER BY and LIMIT questions in EXCEPTs |
Date: | 2002-10-08 20:47:33 |
Message-ID: | 200210081347.33872.list-pgsql-general@empires.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
It appears that postgres requires the ORDER BY or the LIMIT to be at the end
of the query. I think if you want the LIMIT, OFFSET, or ORDER BY to affect
anything other than the end result you'll have to use a subselect.
I could be doing something wrong, but I got a syntax error if I tried to put
those clauses in the middle of the query.
Regards,
Jeff Davis
On Tuesday 08 October 2002 11:06 am, Doug Fields wrote:
> Hello,
>
> I have questions about how ORDER BY and LIMIT work with "EXCEPT" joined
> queries.
>
> Let's say I have a query like:
>
> SELECT * FROM something
> WHERE ...
> ORDER BY field
> EXCEPT
> SELECT * FROM something
> WHERE ...
>
> (It's much faster than a self-join per my tests!)
>
> Will the final output retain the order as specified by the "ORDER BY field"
> clause?
>
> Second question. Let's say I have a query like the above, but I insert a
> "LIMIT limit OFFSET offset" clause. If I put the clause in the first SELECT
> (before the EXCEPT), then I expect that the number of records returned will
> be at most "limit" and possibly less due to the EXCEPT. Correct?
>
> If I put the "LIMIT limit OFFSET offset" after the second SELECT, does it
> apply to the whole integrated query, or just to the second SELECT clause?
> Do I need to make this a subselect to make it apply to the whole query?
> example:
>
> SELECT * FROM (
> SELECT * FROM something
> WHERE ...
> ORDER BY field
> EXCEPT
> SELECT * FROM something
> WHERE ...
> ) AS a LIMIT limit OFFSET offset
>
> Many thanks,
>
> Doug
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2002-10-08 22:44:36 | Re: CHAR, VARCHAR, TEXT (Was Large Databases) |
Previous Message | Joe Conway | 2002-10-08 19:55:51 | Re: Returning composite types from functions |