AdventureWorks veri tabanında, Production.Product tablsoundaki kayıtlardan rastegele seçilen 10 ürünü gösterelim. Bu işlemi NEWID fonksiyonunu kullanarak yapabiliriz. Bu fonksiyon yeni bir kolon oluşturur. Oluşan bu kolondaki her bir satır için GUID (Global Unique Idendifier) değerler üretir. Bu değerler özgün olup, sadece bir kere üretileceğinden dolayı, sorgu her çalıştığında farklı GUID’ler üretir.
İlk olarak, NewId() fonksiyonunun oluşturduğu kolonu görelim.
SELECT NEWID()[Rastgele Değer] , * FROM Production.Product
Yukarıdaki kodu çalıştırdığımızda aşağıdaki gibi bir sonuç alacağız.
Rastegele ilk 10 ürünü göstermek istediğimizde ise, sıralamamızı NEWID() fonksiyonunun ürettiği GUID() değerlere göre yapmamız gerekir. Sorgu her çalıştığında farklı GUID’ler üretileceğinden, elde ettiğimiz ürünler de farklı olacaktır.
SELECT TOP 10 NEWID()[Rastgele Değer], * FROM Production.Product
ORDER BY NEWID()
Yukarıda, Oluşan GUID’leri görmek için SELECT ifadesine NEWID() fonksiyonunu da yazdık. Ama genelde bu id’leri göstermek istemeyiz. Bu durumda sadece ORDER BY ifadesinde fonksiyonu kullanmak yeterli olacaktır
SELECT TOP 10 * FROM Production.Product
ORDER BY NEWID()
İstediğimiz gibi rastgele 10 ürünü elde etmiş olduk.
0 yorum:
Yorum Gönder