MySQL

MySQL ROLLUP Kullanımı

Bu eğitimde, alt toplamlar ve toplamlar oluşturmak için MySQL ROLLUP yan tümcesini nasıl kullanacağınızı öğreneceksiniz.

Örnek bir tablo oluşturma

Aşağıdaki ifade, ürün satırlarına ve yıllara göre özetlenen sipariş değerlerini saklayan satış adında yeni bir tablo oluşturur. Veriler, örnek veritabanındaki ürünlerden, siparişlerden ve orderDetails tablolarından gelir.

Aşağıdaki ifade, öğrencilerin yıllara göre aldıkları kitapların tarihlerinin bir özetini göstermektedir. Özet tablo islemDetay adında öğrencilerin yıllara göre adlıkları kitaplar ve öğrenci adı ve soyadı bilgilerini içermektedir.

Aşağıdaki sorgu tüm islemDetay ‘ını görüntüler.

MySQL ROLLUP genel bakış

Gruplama, gruplamak istediğiniz sütunlar kümesidir. Örneğin, aşağıdaki sorgu yıllara göre alınan kitapların bir gruplama listesi oluşturur.

 

Aşağıdaki sorgu ile gösterilen boş bir gruplama kümesi oluşturur:

Tek bir sorguda iki veya daha fazla gruplama grubu oluşturmak istiyorsanız, UNION ALL operatörünü aşağıdaki gibi kullanabilirsiniz:

UNION ALL tüm sorguların aynı sayıda sütuna sahip olmasını gerektirdiğinden, bu gereksinimi yerine getirmek için ikinci sorgunun seçim listesine NULL ekledik.

Bu sorgu, toplam islem değerlerini yıllara göre islem satırlarına ve ayrıca genel toplam satırına göre üretebilir. Ancak, iki sorununu çözmek gerekecekti:

  • Sorgu oldukça uzundur.
  • Veritabanının motorunun dahili olarak iki ayrı sorgu yürütmesi ve sonuç kümelerini bir araya getirmesi gerektiğinden sorgunun performansı iyi olmayabilir.

Bu sorunları çözmek için ROLLUP yan tümcesini kullanabilirsiniz.

ROLLUP yan tümcesi GROUP BY yan tümcesinin aşağıdaki sözdizimiyle bir uzantısıdır:

ROLLUP, GROUP BY deyiminde belirtilen sütunlara veya ifadelere dayalı olarak birden fazla gruplama grubu oluşturur.

Aşağıdaki sorguya bakınız:

Çıktıda açıkça gösterildiği gibi, ROLLUP deyimi yalnızca alt toplamları değil, aynı zamanda işlemlerin değerlerinin toplamını da oluşturur.

GROUP BY deyiminde belirtilen birden fazla sütununuz varsa, ROLLUP deyimi giriş sütunları arasında bir hiyerarşi varsayar.

Bu eğitimde, GROUP BY deyiminde belirtilen sütunlar arasındaki hiyerarşiyi göz önünde bulundurarak birden fazla gruplama kümesi üretmek için MySQL ROLLUP () yöntemini nasıl kullanacağınızı öğrendiniz.

 

 

 

 

 

1 Yorum

Yorum yapmak için tıklayın