If I have a row for each of the alphanumerically ordered items (ids) below:
aa ab ac ba cc cf ff gh h4 ia
SELECT * FROM things WHERE id < 'cc' ORDER BY id LIMIT 3.
You are very close:
SELECT * FROM things WHERE id < 'cc' ORDER BY id DESC ------------^ LIMIT 3;
You need to sort the items in descending order to get the "biggest" ones before
Also, for three items you want
limit 3. I assume the "2" is a typo.
If you then want these in alphabetical order, use a subquery and order again:
SELECT t.* FROM (SELECT t.* FROM things t WHERE id < 'cc' ORDER BY id DESC LIMIT 3 ) t ORDER BY id ASC;