Contoh #2 membuat saya menggaruk-garuk kepala untuk sementara waktu - saya berpikir:"Anda tidak bisa DISTINCT
satu kolom, apa artinya itu?" - sampai saya menyadari apa yang sedang terjadi.
Bila Anda memiliki
SELECT DISTINCT(t.ItemNumber)
kamu tidak , meskipun muncul, sebenarnya meminta nilai yang berbeda dari t.ItemNumber
! Contoh #2 Anda sebenarnya diurai sama dengan
SELECT DISTINCT
(t.ItemNumber)
,
(SELECT TOP 1 ItemDescription
FROM Transactions
WHERE ItemNumber = t.ItemNumber
ORDER BY DateCreated DESC) AS ItemDescription
FROM Transactions t
dengan tanda kurung yang benar secara sintaksis tetapi berlebihan di sekitar t.ItemNumber
. Untuk hasil-set secara keseluruhan yang DISTINCT
berlaku.
Dalam hal ini, karena GROUP BY
your Anda kelompok dengan kolom yang sebenarnya bervariasi, Anda mendapatkan hasil yang sama. Saya sebenarnya sedikit terkejut bahwa SQL Server tidak (dalam GROUP BY
contoh) bersikeras bahwa kolom subquery disebutkan dalam GROUP BY
daftar.