I just saw the mistake I made in my original post.. I want to Order By
letter, but when I do that with the Limit clause the results are as
shown in the original post.. Anyone know what the problem could be?


Steve Meyers wrote:

>That is actually how it is supposed to work -- MySQL gets all the rows, sorts them, 
>and then returns up to the limit.  What you suggest would make no sense in any 
>application, as far as I can tell.  The problem with the SQL queries given in the 
>original post is the the ordering is being done by #, not letter.  Of course it will 
>be fairly haphazard.  If you want to sort by number, then letter, you will need to 
>specify it in your query as such (ORDER BY #, letter).
> 
>Steve Meyers
>
>
>>-----Original Message-----
>>From: Fournier Jocelyn [Presence-PC] [mailto:[EMAIL PROTECTED]]
>>Sent: Tuesday, October 16, 2001 1:31 PM
>>To: [EMAIL PROTECTED]
>>Cc: [EMAIL PROTECTED]
>>Subject: Re: MySQL 4.0 - Order By & Limit
>>
>>
>>Hi,
>>
>>I don't see the interest of this kind of behaviour : the main benefit of
>>LIMIT is MySQL stops fetching rows as soon as the number of rows specified
>>in LIMIT is achieved.
>>The behaviour you describe requires that MySQL fetches all the rows, sorts
>>it, and then applies LIMIT. (so no speed optimization !).
>>For your example, just use the SQL query without LIMIT, and then get only
>>the rows that interest you :) (I assume you are using language like PHP,
>>C++, etc... to execute this query ?)
>>
>>Regards,
>>
>>Jocelyn Fournier
>>Presence-PC
>>
>>----- Original Message -----
>>From: "Ashwin Kutty" <[EMAIL PROTECTED]>
>>Cc: <[EMAIL PROTECTED]>
>>Sent: Tuesday, October 16, 2001 8:48 PM
>>Subject: MySQL 4.0 - Order By & Limit
>>
>>
>>>Hi,
>>>
>>>I thought version 4.0 was supposed to do a Order By first and then a
>>>Limit after that on the results returned on a SELECT.. I have just
>>>installed the new version and I hit the same problem I was hitting
>>>before, i.e., the Limit seems to be executing first and then the Order
>>>By causing all the results to be haphazard when they display.. Now if I
>>>go for a wider set of results, i.e. increase the Limit, the results come
>>>a lot better then, i.e. more of them are ordered right, but then, again,
>>>it still skips a lot more.. As an example:-
>>>
>>>Results Set
>>># letter
>>>1 f
>>>1 a
>>>2 b
>>>1 c
>>>3 d
>>>1 e
>>>1 h
>>>1 g
>>>
>>>
>>>Limit 2
>>>
>>>Order By #
>>>
>>>1 a
>>>1 f
>>>
>>>Then when I go to the next set, I get
>>>
>>>1 c
>>>1 e
>>>
>>>Instead I would like it to be as the following:-
>>>First Set:-
>>>1 a
>>>1 c
>>>Second Set:-
>>>1 e
>>>1 f
>>>
>>>etc..
>>>
>>>Any ideas?
>>>
>>>These are a few specs of the server & stuff..
>>>Linux kernel 2.4.7-2 on a Redhat 8 server running Mysql 4.0.0-alpha
>>>The query I have is as follows:-
>>>SELECT * from tablename WHERE fieldname LIKE "%keyword%" ORDER BY
>>>fieldname DESC LIMIT 0,10;
>>>
>>>Thanks..
>>>
>>>
>>>---------------------------------------------------------------------
>>>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
>>
>>
>
>


Reply via email to