List:General Discussion« Previous MessageNext Message »
From:Papalagi Pakeha Date:October 30 2007 3:53am
Subject:Sort results by order in list
View as plain text  
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
Thread
Sort results by order in listPapalagi Pakeha30 Oct
  • Re: Sort results by order in listPeter Brawley30 Oct
    • Re: Sort results by order in listPapalagi Pakeha30 Oct
      • Re: Sort results by order in listPeter Brawley30 Oct
  • Re: Sort results by order in listSebastian Mendel30 Oct
    • Re: Sort results by order in listPapalagi Pakeha30 Oct
      • Re: Sort results by order in listJohan Höök30 Oct
        • Re: Sort results by order in listPapalagi Pakeha30 Oct