From: Date: October 30 2007 6:54am Subject: Re: Sort results by order in list List-Archive: http://lists.mysql.com/mysql/209779 Message-Id: <4726C6F8.8010707@earthlink.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit >I.e. the ideal output would be: >+-------+---------------------+ >| id | start_date | >+-------+---------------------+ >| 109k7 | 2007-10-07 12:06:58 | >| s3x6 | 2007-10-07 08:58:20 | >| wt57 | 2007-10-07 15:57:37 | >| sxmns | 2007-10-06 02:17:30 | >+-------+---------------------+ What rule generates the order 109k7, s3x6, wt57, sxmns? PB Papalagi Pakeha wrote: > Hello, > > I have a query like: > SELECT id, start_date FROM iddt WHERE id IN ('109k7','s3x6','sxmns','wt57'); > which gives me: > +-------+---------------------+ > | id | start_date | > +-------+---------------------+ > | 109k7 | 2007-10-07 12:06:58 | > | sxmns | 2007-10-06 02:17:30 | > | wt57 | 2007-10-07 15:57:37 | > | s3x6 | 2007-10-07 08:58:20 | > +-------+---------------------+ > > How can I get the results sorted by the order in which they appear in > the ID list? Indeed I could do it in the application but prefer to get > the results in the right order from MySQL as the ID list may be long > and I may need only first few entries cropped by LIMIT clause. Ideally > it should ORDER BY DATE(start_date) DESC and then by the ID list. Do I > need some sort of stored function for that? > > I.e. the ideal output would be: > +-------+---------------------+ > | id | start_date | > +-------+---------------------+ > | 109k7 | 2007-10-07 12:06:58 | > | s3x6 | 2007-10-07 08:58:20 | > | wt57 | 2007-10-07 15:57:37 | > | sxmns | 2007-10-06 02:17:30 | > +-------+---------------------+ > > Thanks > > PaPa > >