Analitik ve bitirme projesi
Gaps & islands, dedup ve percentile
İleri SQL, doğru tanımlanmış örüntüdür.
Kavramı anlayalım
Gaps & islands ardışık değer kümelerini bulur. Tarihlerde önce günleri tekilleştir, sonra gün değeri ile ROW_NUMBER arasındaki sabit farkı gruplama anahtarı yap. Aralıksız gün kümesiyle aralıksız event satırını karıştırma.
Dedup, eşit sayılan iş anahtarını ve tutulacak kaydı seçme kuralını gerektirir. ORDER BY olmadan “son kayıt” tanımlanamaz. Gerçek duplicate silme transaction ve audit planı ister; bu örnek yalnız SELECT yapar. PERCENTILE_CONT ara değer enterpolasyonu yapabilir, PERCENTILE_DISC gözlenen değeri seçer. NULL ve boş grup davranışını değerlendir. Ortalama, median ve üst percentile aynı soruyu cevaplamaz; küçük veriyle istatistiksel genelleme yapma.
Örüntü ve dağılım sorgularını kontrollü kurmak için.
Tekilleştirme anahtarını seçmeden duplicate silmek.
Aynı konu. Üç farklı derinlik.
SELECT DISTINCT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY Price) OVER () AS MedianPrice FROM lab.Product;Median ürün fiyatı 1800 olur.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Ürün fiyatlarının gözlenen median değerini bul.
Çözümü ve açıklamasını göster
SELECT DISTINCT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY Price) OVER () AS ObservedMedian FROM lab.Product;Yedi değer içinde ortadaki gözlenen fiyat 1800’dür.