ROW_NUMBER fonksiyonu
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 57 / 72.
Pencere işlevleri, geçerli satırla ilişkili bir tablo satırları kümesi üzerinde hesaplamalar gerçekleştirir. Normal toplama işlevlerinin aksine, pencere işlevleri sonuçları tek bir satırda birleştirmez.
Şunları yapmanız gerektiğinde özellikle kullanışlıdır:
- Devam eden toplamları hesaplamak
- Gruplar içindeki öğeleri sıralamak
- Geçerli satırları önceki/sonraki satırlarla karşılaştırmak
- Zaman aralıklarındaki eğilimleri analiz etmek
Örneğin, pencere işlevlerinin kullanımına ilişkin bazı gerçek dünya örnekleri şunlardır:
- Satış Analizi
- Her yıla kadar (1995, 1997, 1999) kümülatif satışları hesaplayın
- Her çeyrek için en çok satan ürünleri bulun
- Spor İstatistikleri
- Farklı yıllardaki Olimpiyat madalya sayılarını takip edin
- Her yarışma dönemindeki (2000, 2004, 2008) önde gelen sporcuları belirleyin
ROW_NUMBER() en basit pencere işlevlerinden biridir. Sonuç kümesindeki her satıra benzersiz, sıralı bir numara atar. İşte nasıl kullanılır:
SELECT column1, column2,
ROW_NUMBER() OVER ([PARTITION BY column] [ORDER BY column]) as row_num
FROM table_name;ROW_NUMBER() ile OVER yan tümcesinin kullanılması zorunludur: ROW_NUMBER() OVER ()
Örneğin:
SELECT product_name, sale_date,
ROW_NUMBER() OVER () as row_num
FROM sales;Bu, 1’den toplam satır sayısına kadar sayan bir row_num sütunu ekler.
Not: OVER yan tümcesi, numaralandırmanın nasıl çalışacağını denetlemek için sıralama ve bölümleme talimatları içerebilir.
Görev
KolayKullanılabilir tablolar ve sütunlar:
liquids:id,density
Yoğunluğu 5.677’den fazla olan tüm sıvıları getirin.
Sonuçları numaralandırın (ROW_NUMBER() işlevini kullanın) ve bu sütuna row_num adını verin
Kendin dene
-- Filtrelenmiş sonucun her satırını bir pencere fonksiyonu kullanarak numaralandır
SELECT id, density, ____ as row_num
FROM liquids
WHERE density > ____Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Daha Fazla Anahtar Sözcük
IN anahtar sözcüğüBETWEEN anahtar sözcüğüLIKE anahtar sözcüğüAS anahtar sözcüğüTekrar - Cep Telefonu Modelleri2Koşullar
Koşulların TemelleriAND Anahtar SözcüğüOR Anahtar SözcüğüNOT Anahtar SözcüğüBirden Çok Koşulu BirleştirmeParantezlerBoolean Değerler8İstatistik
Yerleşik Toplama Bölüm 1Yerleşik Toplama Bölüm 2Gruplama Bölüm 1Gruplama Bölüm 2Alt Sorgular Bölüm 1Alt Sorgular Bölüm 2Tekrar - Total Gain MağazasıTekrar - Scooter MağazasıTekrar - Kahve Mağazası11Pencere Fonksiyonları 1. Bölüm
ROW_NUMBER fonksiyonuORDER BY ölçütüPARTITION BY ölçütüPARTITION ve ORDERLEAD ve LAG FonksiyonlarıTekrar - LEAD ve LAGTekrar - GörsellerTekrar - Kutular3Belirli Döndürme Biçimi
Null değerlerSonuçları Sıralama 1. BölümSonuçları Sıralama 2. BölümTekrar - Siber Güvenlik FirmasıKayıt Sayısını SınırlamaTekrar - Araç Fabrikası6Giriş Alıştırmaları
Tekrar - Parlamento SeçimiTekrar - Polisin Suçluyu TutuklamasıTekrar - Bar İçecek KabıTekrar - Mühendis Yeni Sütunlar9Birden Çok Tablo
Temel JOIN Bölüm 1Temel JOIN Bölüm 2Tekrar - JOINKendine JOINTekrar - Kendine JOINUNIONSorguları Basitleştirme, WITH Anahtar SözcüğüTekrar - WITH SorgularıTekrar - Gayrimenkul Müteahhidi12Pencere Fonksiyonları 2. Bölüm
RANK ve DENSE_RANK FonksiyonlarıTekrar - RANK ve DENSE_RANKNTILE FonksiyonuToplama FonksiyonlarıROWS ve RANGE ÖlçütüKendi başına pratik yap: SQL playground