select fieldname /*, ... */ from tablename order by 1
Это сокращённый вариант
select fieldname /*, ... */ from tablename order by fieldname
Цифра указывает на порядковый номер поля в этом селекте. Синтаксис как сами заметили неочевидный, так что лучше не использовать.
ORDER by IF(name='denis', 1,0) , как и любое другое выражение - это вычисление условия или выражение и сортировка по результату этого выражения.
Эквивалент
select IF(name='denis', 1,0) as sortfield, /*fields*/ from tablename order by sortfield