From: Date: October 30 2007 4:53am Subject: Sort results by order in list List-Archive: http://lists.mysql.com/mysql/209777 Message-Id: <343d1bca0710292053o52f5e966rf8dcd2c3421b2598@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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