MySQL MariaDB

MySQL RANK Penceresi İşlevi

MySQL RANK Penceresi İşlevi
Sıralama yöntemi, bir kümenin sonucunun bölümü içinde her satıra bir derece tahsis eder. Bir satırın sıralaması, kendisinden önceki satırdan bir basamak sayısı artırılarak belirlenir. MySQL, bir şema bölümünde satır başına bir sıralamaya yardımcı olan bir sıralama özelliği kullanır. MySQL'de, derecelendirme yöntemleri gerçekten de pencere yönteminin yarı bir parçasıdır. MySQL'deki derecelendirme yöntemlerini aşağıdaki maddelerden biriyle kullanacaksınız:

Toplamda, aşağıdaki gibi üç tür sıralama işlevi vardır:

MySQL SIRALAMA():

Bu, bir bölüm veya sonuç dizisi içinde bir derece veren bir yöntemdir ile boşluklar satır başına. Kronolojik olarak, sıraların sıralaması her zaman tahsis edilmez (i.e., önceki satırdan bir artırıldı). Birkaç değer arasında bir bağınız olsa bile, bu noktada rank() yardımcı programı ona aynı sıralamayı uygular. Ayrıca, önceki sıra artı tekrarlanan sayıların bir rakamı sonraki sıra numarası olabilir.

Sıralamayı anlamak için komut satırı istemci kabuğunu açın ve kullanmaya başlamak için MySQL şifrenizi yazın.

Bazı kayıtlarla birlikte “veri” veritabanında “same” adında bir aşağıdaki tablomuz olduğunu varsayalım.

>> verilerden * SEÇ.aynı;

Örnek 01: Basit RANK()

Aşağıda, SELECT komutunda Rank fonksiyonunu kullanıyoruz. Bu sorgu “aynı” tablosundan “id” sütununu seçer ve “id” sütununa göre sıralar. Gördüğünüz gibi, sıralama sütununa “my_rank” olan bir isim verdik. Sıralama şimdi aşağıda gösterildiği gibi bu sütunda saklanacaktır.

>> SELECT id, RANK() OVER( SİPARİŞ TARAFINDAN ) my_rank FROM FROM.aynı;

Örnek 02: RANK() PARTITION kullanarak

Aşağıdaki kayıtlarla bir veritabanı “veri”sinde başka bir “çalışan” tablosu olduğunu varsayalım. Sonuç kümesini bölümlere ayıran başka bir örneğimiz olsun.

>> verilerden * SEÇİN.çalışan;

RANK() yöntemini kullanmak için, sonraki talimat her satıra sıralama atar ve sonuç kümesini "Yaş" kullanarak bölümlere ayırır ve bunları "Maaş"a göre sıralar. Bu sorgu, "new_rank" sütununda sıralama yaparken tüm kayıtları getiriyor. Bu sorgunun çıktısını aşağıda görebilirsiniz. Tabloyu “Maaş”a göre sıralamış ve “Yaş”a göre ayırmıştır.

>> SELECT *, RANK() OVER(YAŞA GÖRE BÖLÜM SİPARİŞE GÖRE) new_rank FROM data.çalışan;

MySQL DENSE_Rank():

Bu, bir işlevsellik, deliksiz, bir bölüm veya sonuç kümesi içindeki her satır için bir sıralama belirler. Satırların sıralaması çoğunlukla sıralı olarak tahsis edilir. Zaman zaman, değerler arasında bir bağınız olur ve bu nedenle, yoğun sıra tarafından tam sıraya atanır ve sonraki sıra, bir sonraki başarılı sayıdır.

Örnek 01: Basit DENSE_RANK()

Diyelim ki bir “çalışan” tablomuz var ve “Ad” ve “Maaş” tablo sütunlarını “Ad” sütununa göre sıralamanız gerekiyor. İçinde kayıtların derecesini saklamak için yeni bir “dens_Rank” sütunu oluşturduk. Aşağıdaki sorguyu yürüttüğümüzde, tüm değerlere farklı sıralama ile aşağıdaki sonuçları elde ederiz.

>> SEÇ İsim, Maaş, DENSE_RANK() OVER( SİPARİŞ AD ) dens_rank FROM data.çalışan;

Örnek 02: DENSE_RANK() PARTITION kullanarak

Sonuç kümesini bölümlere ayıran başka bir örnek görelim. Aşağıdaki sözdizimine göre, PARTITION BY ifadesi tarafından bölümlenen sonuçtaki küme FROM ifadesi tarafından döndürülür ve ardından DENSE_RANK() yöntemi "Ad" sütunu kullanılarak her bölüme bulaşır. Ardından, her segment için ORDER BY ifadesi, "Yaş" sütununu kullanarak satırların zorunluluğunu belirlemek için bulaşır.

>> SEÇ İsim, Yaş, Maaş, DENSE_RANK() OVER(BÖLÜM ADINA GÖRE SİPARİŞ Yaşa göre) new_rank FROM data.çalışan;

Yukarıdaki sorguyu yürüttüğünüzde, yukarıdaki örnekteki Single yoğun_rank() yöntemine kıyasla çok farklı bir sonuç elde ettiğimizi görebilirsiniz. Aşağıda görebileceğiniz gibi, her satır değeri için aynı tekrarlanan değere sahibiz. Bu rütbe değerlerinin bağı.

MySQL PERCENT_RANK():

Gerçekten de, bir bölüm veya sonuç koleksiyonu içindeki satırları hesaplayan bir yüzde sıralama (karşılaştırmalı sıralama) yöntemidir. Bu yöntem, sıfırdan 1'e kadar bir değer ölçeğinden bir liste döndürür.

Örnek 01: Basit PERCENT_RANK()

“Çalışan” tablosunu kullanarak basit PERCENT_RANK() yöntemi örneğine bakıyoruz. Bunun için aşağıda verilen bir sorgumuz var. Per_rank sütunu, sonuç kümesini yüzde biçiminde sıralamak için PERCENT_Rank() yöntemi tarafından oluşturulmuştur. Verileri “Yaş” sütununun sıralama düzenine göre getiriyoruz ve ardından bu tablodaki değerleri sıralıyoruz. Bu örnek için sorgu sonucu, aşağıdaki resimde gösterildiği gibi bize değerler için bir yüzde sıralaması verdi.

>> SEÇ *, PERCENT_RANK() ÜZERİNDE( Yaşa Göre SİPARİŞ ) per_rank FROM veri.çalışan;

Örnek 02: PERCENT_RANK() PARTITION kullanarak

Basit PERCENT_RANK() örneğini yaptıktan sonra, şimdi sıra “PARTITION BY” deyiminde. Aynı tabloyu kullanıyoruz “çalışan”. Sonuç kümesini bölümlere ayıran başka bir örneğe bir göz atalım. Aşağıdaki sözdiziminden verildiğinde, PARTITION BY ifadesi tarafından elde edilen set duvarı FROM bildirimi tarafından geri ödenir ve daha sonra her satır sırasını “Ad” sütununa göre sıralamak için PERCENT_RANK() yöntemi kullanılır. Aşağıdaki resimde, sonuç kümesinin yalnızca 0 ve 1 değerleri içerdiğini görebilirsiniz.

>> SELECT *, PERCENT_RANK() OVER(BÖLÜMÜ MAAŞA GÖRE SİPARİŞ) per_rank FROM verisi.çalışan;

Sonuç:

Son olarak, MySQL komut satırı istemci kabuğu aracılığıyla MySQL'de kullanılan satırlar için üç sıralama işlevini de yaptık. Ayrıca çalışmamızda hem simple hem de PARTITION BY deyimini dikkate aldık.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...