PostgreSQL

PostgreSQL NTILE Pencere İşlevi

PostgreSQL NTILE Pencere İşlevi
PostgreSQL'deki pencere yöntemleri, farklı verileri eşitlemek için atılmıştır ve analitik ve diğer PostgreSQL kullanım durumları için gereklidir. PostgreSQL'deki OVER yan tümcesinin ardından gelen NTILE() yöntemi, düzenlenmiş satırları bir dereceye kadar dereceli diziler gibi bölmek için atılır. Kovalar, bir dizi sıralanmış gruptan başka bir şey değildir. Bu makale boyunca, PostgreSQL NTILE() özelliğini kullanarak bir bölümdeki sıralanmış satırları belirli bir sıralanmış kova şekline nasıl böleceğinizi keşfedeceksiniz. NTILE() yöntemi, bir kümede 1'den başlayarak her gruba bir kova numarası tahsis eder ve satırın yerini aldığı kümeyi gösterir.

Sözdizimi:

>> NTILE(buckets) OVER ( [PARTITION BY bölüm ifadesi,… ] [ORDET BY sıralama ifadesi] ) [ASC | TANIM],… ]);

Öncelikle NTILE yöntemini anlamak için PostgreSQL kabuğundan giriş yapın. Bu nedenle uygulamalardan PostgreSQL komut satırı kabuğunu başlatmayı deneyin. Başka bir Sunucuda çalışmak için bir sunucunun adını girin; aksi halde Enter'a basın. Önceden belirlenmiş veritabanı üzerinde pratik yapmanız gerekiyorsa, e.g., Postgres, ardından Enter tuşuna basın veya başka bir veri bankası başlığı girin, e.g. 'Ölçek'. 5432'den farklı bir bağlantı noktası kullanmak için onu yazın; değilse, olduğu gibi bırakın ve devam etmek için Enter'a basın. Yeni bir kullanıcı adına geçmeniz gerektiğinde kullanıcı adını girmenizi isteyebilir. Kullanıcı adını girin; yoksa Enter'a basmanız yeterli. Son olarak, aşağıdaki belirli kullanıcıyı kullanan komut satırını kullanarak geçiş yapmak için mevcut kullanıcı şifrenizi girmelisiniz. Ardından tüm zorunlu verilerin etkin girişleri, NTILE üzerinde çalışmaya başlayabilirsiniz.

NTILE üzerinde çalışmaya başlamak için, yoksa CREATE komutunu kullanarak yeni bir tablo oluşturmanız gerekir. PostgreSQL veritabanınızda 'test' olarak adlandırılan, aşağıda görüntülenen “çalışan” tablosunu düşünün. Bu tablo dört sütun içerir e.g., belirli bir şirketin bir çalışanının kimliği, adı, yaşı ve maaşı. Her sütunda toplam 10 satır vardır, bu da her sütun alanında 10 kayıt anlamına gelir.

>> SEÇİN * çalışandan;

Başlangıçta, ORDER BY deyimini kullanarak bir tablodan kayıt getirme basit kavramını anlamalıyız. Konsepti kısaca açıklamak ve anlamak için aşağıdaki SELECT komutunu NTILE kullanmadan yürütüyoruz. Sütunlar için kayıtları alıyoruz; Kayıtları artan “yaş” alanına göre sıralarken isim, yaş ve maaş. Görüntüde sunulduğu gibi sadece kayıtları göstereceğini görebilirsiniz.

>> SEÇİN isim, yaş, maaş SİPARİŞİNDEN YAŞA GÖRE;

ORDER BY Cümlesiyle NTILE() OVER Kullanımı:

Aynı “çalışan” tablosunu varsayarak, örneğimizde NTILE() OVER yan tümcesini kullanmaya başlayalım. Bu örnekte, iki sütunu seçiyoruz; isim ve maaş, “maaş” sütununun artan sırasına ilişkin sonucu sıralarken. Sonuç, bir çalışanın yaşının 24'ten büyük olduğu verileri içerecektir. Sıraları 3 kovaya bölmek istediğimiz için NTILE kovanın değerini “3” olarak tanımladık, e.g., 1 ila 3. Sıraların, her bir kovada 3 sıra içeren 3 eşit kovaya başarıyla bölündüğünü görebilirsiniz.

>> SEÇİN isim, maaş, NTILE(3) AŞIRI( maaşa GÖRE SİPARİŞ ) Çalışandan NEREDE yaş > '24';

Şimdi aynı tabloyu kullanırken başka bir örnek alalım “çalışan”. Bu sefer üç sütunun kayıtlarını getirmek istiyoruz; komut kabuğundaki SELECT sorgusunu kullanarak ad, yaş ve maaş. WHERE yan tümcesinde küçük değişiklikler var. Şu anda, yaşı 27'den küçük olan ve yalnızca 27 yaşından küçük olan kayıtları alacak olan “çalışan” tablosu kayıtlarını arıyoruz. Öte yandan, yine 3 olduğu için bir kova değerinde herhangi bir değişiklik yoktur. Belirtilen komutu deneyerek, resimde gösterildiği gibi 3 kovaya eşit olarak bölünmüş sadece üç kayıt bulduk.

>> SEÇİN isim, yaş, maaş, NTILE(3) ÜZERİNDE ( maaşa GÖRE SİPARİŞ ) Çalışandan NEREDE yaş < '27';

ORDER BY ve PARTITION BY Cümlesi ile NTILE() OVER Kullanımı:

PARTITION BY ve ORDER BY yan tümcelerini aynı anda kullanırken bir NTILE() OVER örneğine bakalım. Bir veritabanı “testinden” değişmeyen “çalışan” tablosunun kullanılacağını varsayalım. Bu örnekte, üç sütunu seçmelisiniz; isim, yaş ve maaş, bir alan “yaşı” artan şekilde sıralanırken. Ayrıca, bu sütuna göre bir tablonun bölümlerini yapmak için “maaş” sütunundaki PARTITION BY deyimini kullanıyoruz. Bu özel sorguda kullanılan belirli bir koşul yoktur, bu da "çalışan" tablosunun tüm kayıtlarının görüntüleneceği anlamına gelir. NTILE kovasının değeri "3". Aşağıda belirtilen sorgunun yürütülmesinde aşağıdaki sonucu göreceksiniz. Bölmeler, “maaş” sütununun farklı değerlerine göre yapılır. “Maaş” sütununun tüm değerleri farklıdır, bu nedenle “60000” değeri dışında farklı bölümlerde yer alır. Bu, her bölümün biri hariç 1 değer aldığı anlamına gelir. Bundan sonra, tüm bölüm satırları kovalar aracılığıyla sıralandı. Sadece bir kova 2. sırayı aldı.

>> SEÇİN isim, yaş, maaş, NTILE(3) AŞIRI( Maaş BÖLÜMÜ, yaşa GÖRE SİPARİŞ ) çalışandan;

Aynı NTILE() OVER örneğini PARTITION BY ve ORDER BY yan tümcesi ve WHERE yan tümcesi ile almak. NEREDE yan tümcesinde, getirilecek olan kayıtların yalnızca çalışanın yaşının 27'den küçük olduğu durumlar olduğunu söyleyen koşulu tanımladık. Yaşa göre 2 bölüm ve sıralı “ntile” sütununa sahip sadece 3 sonuç aldık.

>> SEÇİN isim, yaş, maaş, NTILE(3) AŞIRI( Maaş BÖLÜMÜ, yaşa GÖRE SİPARİŞ ) Çalışandan NEREDE yaş < '27';

Sonuç:

Bu kılavuzda, ntile işlevlerinin farklı örneklerini tartıştık. Bunları ihtiyacınıza göre uygulayabilirsiniz.

Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...
Ubuntu'da Oynanacak En İyi 10 Oyun
Windows platformu, günümüzde doğal olarak Windows'u desteklemek için geliştirilen oyunların büyük bir yüzdesi nedeniyle oyun oynamak için hakim platfo...