Вашият пример №2 ме накара да се почеша по главата известно време - помислих си:„Не можеш да DISTINCT една колона, какво би означавало това?" - докато не осъзнах какво става.
Когато имате
SELECT DISTINCT(t.ItemNumber)
ти не си , въпреки външния вид, всъщност иска отделни стойности на t.ItemNumber ! Вашият пример #2 всъщност се анализира по същия начин като
SELECT DISTINCT
(t.ItemNumber)
,
(SELECT TOP 1 ItemDescription
FROM Transactions
WHERE ItemNumber = t.ItemNumber
ORDER BY DateCreated DESC) AS ItemDescription
FROM Transactions t
със синтактично правилни, но излишни скоби около t.ItemNumber . Това е DISTINCT за набора от резултати като цяло се прилага.
В този случай, тъй като вашият GROUP BY групи по колоната, която всъщност варира, получавате същите резултати. Всъщност съм леко изненадан, че SQL Server не (в GROUP BY пример) настояват подзаявената колона да е спомената в GROUP BY списък.