Pokud jsem z vaší otázky pochopil.
odlišný :- znamená vybrat odlišný (všechny vybrané hodnoty by měly být jedinečné).order By :- jednoduše znamená seřadit vybrané řádky podle vašich požadavků.
Problém ve vašem prvním dotazu je Například:Mám tabulku
ID name
01 a
02 b
03 c
04 d
04 a
nyní dotaz select distinct(ID) from table order by (name)
je zmatený, který záznam by měl mít pro ID - 04 (protože jsou tam dvě hodnoty, d a a ve sloupci Název). Takže problém pro DB engine je tady, když řeknete pořadí podle (jméno).........