I had the need to create a sorted list using SQL. However, the user wanted one particular set of items to appear at the top of the list, out of the default collating sequence.
Fortunately, this can be easily done by using a CASE construct within the ORDER BY clause:
SELECT first_name , last_name , city FROM customers ORDER BY ( CASE city WHEN 'VICTORIA' THEN 'a' ELSE city END ) , last_name , first_name;
This query will show customers sorted by city, then by name, but will list customers who live in Victoria first (which is only fair and appropriate).