>-----Original Message----- >From: Andrew Martin [mailto:[EMAIL PROTECTED] >Sent: Tuesday, July 01, 2008 9:20 AM >To: mysql@lists.mysql.com >Subject: force row to appear at top of results using order by > >Hello, > >I have an order by question... > >This is the "raw" data... > >mysql> SELECT events_groups_id, events_groups_name FROM events_groups; >+------------------+---------------------+ >| events_groups_id | events_groups_name | >+------------------+---------------------+ >| 1 | Personal Events | >| 2 | Company events | >| 3 | Deliveries in | >| 4 | Invoices to pay | >| 5 | Invoices to receive | >| 6 | Deliveries out | >| 9 | Online demos | >+------------------+---------------------+ >7 rows in set (0.01 sec) > > >This is almost the result I require: > >mysql> SELECT events_groups_id, events_groups_name FROM events_groups >ORDER BY events_groups_name ASC; >+------------------+---------------------+ >| events_groups_id | events_groups_name | >+------------------+---------------------+ >| 2 | Company events | >| 3 | Deliveries in | >| 6 | Deliveries out | >| 4 | Invoices to pay | >| 5 | Invoices to receive | >| 9 | Online demos | >| 1 | Personal Events | >+------------------+---------------------+ >7 rows in set (0.00 sec) > > >I would like this to have Personal Events appear first, and the rest >of the list still be alphabetically sorted like so: > >+------------------+---------------------+ >| events_groups_id | events_groups_name | >+------------------+---------------------+ >| 1 | Personal Events | >| 2 | Company events | >| 3 | Deliveries in | >| 6 | Deliveries out | >| 4 | Invoices to pay | >| 5 | Invoices to receive | >| 9 | Online demos | >+------------------+---------------------+ > >Is this possible without using a subquery or union? > [JS] IMHO, you are better off approaching this in a different way. Add a third column that is used only as a sort key, so that you can rearrange your sort order whenever you want. I would use a sort key that has two decimal places, so that you can easily add an entry that needs to be sorted between 1.00 and 2.00 just by giving it a sort key of 1.50. This will give you complete flexibility, and should use minimal overhead.
>Many thanks, > > >Andy > >-- >MySQL General Mailing List >For list archives: http://lists.mysql.com/mysql >To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] >infoshop.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]