it's not true, order by is performed before limit. if it was the other
way round , limit would be almost useless
> Hadn't thought about this before, but what it means (I guess) is that LIMIT
> works on the selection, not on the presentation.
>
> What I'm trying to say is that when you consider the sequence in which a
> SELECT statement is carried out by the database, an ORDER BY is the second
> but last thing that's done (the last being a further restriction of the
> result set through a HAVING clause, if present). At the time of the
> ordering you already have a result set for the query, and the database is
> now only working on the way this result set is presented to the user.
>
> I presume that LIMIT applies to the gathering of the result set, i.e. you
> get the required number of rows from the query up to and including the
> WHERE clause. Only then it gets ordered, but if your result set does not
> contain the records with an 'A' they can't get ordered either. Don't know
> whether I'm explaining this very well, but perhaps you get the idea.
>
> ...
>
> Have gone and tested it now (3.23.42 on Win2K). Here is the SQL text and
> the results:
>
> ---< cut
>
> DROP DATABASE IF EXISTS ordertest;
> CREATE DATABASE ordertest;
> USE ordertest;
>
> CREATE TABLE letters (
> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
> letter CHAR NOT NULL
> );
>
> INSERT INTO letters
> (letter)
> VALUES
> ('C'),
> ('C'),
> ('C'),
> ('C'),
> ('C'),
> ('C'),
> ('M'),
> ('N'),
> ('T'),
> ('W'),
> ('A'),
> ('B');
>
> SELECT letter
> FROM letters
> LIMIT 10;
>
> +--------+
>
> | letter |
>
> +--------+
>
> | C |
> | C |
> | C |
> | C |
> | C |
> | C |
> | M |
> | N |
> | T |
> | W |
>
> +--------+
> 10 rows in set (0.00 sec)
>
> SELECT letter
> FROM letters
> ORDER BY letter
> LIMIT 10;
>
> +--------+
>
> | letter |
>
> +--------+
>
> | A |
> | B |
> | C |
> | C |
> | C |
> | C |
> | C |
> | C |
> | M |
> | N |
>
> +--------+
> 10 rows in set (0.37 sec)
>
> --< cut
>
> Surprise, surprise, turns out MySQL behaves not the way I thought it would,
> but rather the way you thought it should. Are you perhaps running a
> different version? And could you perhaps show us your table structure(s)
> and query so that we can find out what's really happening there?
>
> Cheers,
> Christian Sage
>
>
> ---------------------------------------------------------------------
> Before posting, please check:
> http://www.mysql.com/manual.php (the manual)
> http://lists.mysql.com/ (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php