Доколкото разбрах от въпроса ви.
distinct :- означава да изберете различен (всички избрани стойности трябва да са уникални). order By :- просто означава да подредите избраните редове според вашите изисквания.
Проблемът в първото ви запитване е Например:имам таблица
ID name
01 a
02 b
03 c
04 d
04 a
сега заявката select distinct(ID) from table order by (name)
е объркан кой запис трябва да вземе за ID - 04 (тъй като има две стойности, d и a в колоната Име). Така че проблемът за DB двигателя е тук, когато кажете подреждане по (име).........