SQLite and custom order by

Viewed 17424

I have a table with categories:

ID  Category
"1","Baking"   
"3","Family"   
"4","Entertaining"   
"5","Children"   
"6","Desserts"   

Now I would like to order the result of the select statement to

ID  Category
"4","Entertaining"   
"3","Family"  
"1","Baking"   
"5","Children"   
"6","Desserts"  

for example. In MySQL, you'd do it like this:

SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);

How would you do it in SQLite though? I don't have an "order by" field.

3 Answers

A second way of doing it (the first one being with CASE WHEN ... THEN END as already stated in other answers) is:

ORDER BY ID=4 DESC,
         ID=3 DESC,
         ID=1 DESC,
         ID=5 DESC,
         ID=6 DESC
Related