Aracılığıyla paylaş


gruplandırma KÜMELERI eşdeğerleri

gruplandırma küme S kullanan BIR GROUP BY yan tümce, bir sonuç üretebilir küme equvalent için oluşturulan bir UNION ALL tarafından birden çok basit GROUP BY yan.gruplandırma KÜMELERI basit bir GROUP BY, ROLLUP veya küp işlemi tarafından oluşturulan eşdeğer bir sonuç üretebilir.gruplandırma AYARLAR, ROLLUP veya küp farklı birleşimlerini eşdeğer bir sonuç kümesi oluşturabilirsiniz.

Bu konu, gruplandırma KÜMELERI eşdeğerleri örnekleri sağlar.Aşağıdaki kısaltmaları örneklerde kullanılır:

  • Agg(): herhangi bir işlev toplamak

  • (değişken): bir bağımsız değişken

gruplandırma UNION ALL eşdeğer ayarlar

GROUPING KÜMELERI () belirtme<gruplandırma küme>,...n ]) GROUP BY listesi bir UNION ALL sorgularının, her bir GROUP BY listesinde olarak Gruplama kümelerinin eşdeğerdir. Kayan noktalı sayı toplamları biraz farklı sonuçlar döndürebilir.

Aşağıdaki ifadeler birbirleriyle eşdeğerdir:

SELECT customer, year, SUM(sales)
FROM T
GROUP BY GROUPING SETS ((customer), (year))
SELECT customer, NULL as year, SUM(sales)
FROM T 
GROUP BY customer
UNION ALL
SELECT NULL as customer, year, SUM(sales)
FROM T 
GROUP BY year

Bir basit GROUP BY, KÜMELERI eşdeğerleri GRUPLANDıRMA

Aşağıdaki yan tümceleri aynı genel toplamları döndürün:

GROUP BY GROUPING SETS ( () )
GROUP BY ()

Aşağıdaki yan tümceleri aynı tek kümesi olarak döndürün:

GROUP BY GROUPING SETS ( (C1, C2, ..., Cn) )
GROUP BY C1, C2, ..., Cn

gruplandırma KÜMELERI ROLLUP eşdeğerleri

TOPLAMA (GÖRE GRUPLANDIR<Bileşik bir öğe listesi>) ile n giriş listesinde boyut ile tüm önekler (gruplandırma KÜMELERI için eşdeğern+ 1), giriş listesi, gruplandırma KÜMELERI olarak.

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY ROLLUP (C1, C2, …, Cn-1, Cn)
GROUP BY GROUPING SETS ( (C1, C2, …, Cn-1, Cn)
    ,(C1, C2, ..., Cn-1)
    ...
    ,(C1, C2)
    ,(C1)
    ,() )

gruplandırma KÜMELERI küp eşdeğerleri

KÜP (GÖRE GRUPLANDIR<Bileşik bir öğe listesi>) ile n giriş listesinde boyut eşdeğer gruplandırma kümelerine tam olarak küme (2n giriş listesinde boyut birleşimlerini) kendi gruplandırma KÜMELERI olarak, giriş listesi.

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY CUBE (C1, C2, C3, ..., Cn-2, Cn-1, Cn)
GROUP BY GROUPING SETS (
     (C1, C2, C3, ..., Cn-2, Cn-1, Cn) -- All dimensions are included.
    ,( , C2, C3, ..., Cn-2, Cn-1, Cn) -- n-1 dimensions are included.
    ,(C1, C3, ..., Cn-2, Cn-1, Cn)
    …
    ,(C1, C2, C3, ..., Cn-2, Cn-1,)
    ,(C3, ..., Cn-2, Cn-1, Cn) -- n-2 dimensions included
    ,(C1  ..., Cn-2, Cn-1, Cn)
    …
    ,(C1, C2) -- 2 dimensions are included.
    ,…
    ,(C1, Cn)
    ,…
    ,(Cn-1, Cn)
    ,…
    ,(C1) -- 1 dimension included
    ,(C2)
    ,…
    ,(Cn-1)
    ,(Cn)
    ,() ) -- Grand total, 0 dimension is included.

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY CUBE (C1, C2, C3)
GROUP BY GROUPING SETS ( (C1, C2, C3)
    ,(C1, C2)
    ,(C1, C3)
    ,(C2, C3)
    ,(C1)
    ,(C2)
    ,(C3)
    ,() )

Bileşik sütuna ROLLUP bir gruplandırma küme Katla bir ROLLUP ekleme

Aşağıdaki yan tümceleri eşdeğerdir:

ROLLUP(A, (C1, C2, ..., Cn) )
ROLLUP( (A), (C1, C2, ..., Cn) )
GROUPING SETS ( (A, C1, C2, ..., Cn), (A), () )

Bileşik sütuna küp bir gruplandırma küme Katla bir küp ekleme

Aşağıdaki yan tümceleri eşdeğerdir:

CUBE(A, (C1, C2, ..., Cn) )
CUBE( (A), (C1, C2, ..., Cn) )
GROUPING SETS ( (), (A), (C1, C2, ..., Cn), (A, C1, C2, ..., Cn) )

gruplandırma KÜMELERI, küp veya ROLLUP içeren bir GROUP BY

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY A, CUBE (B, C)
GROUP BY GROUPING SETS ( (A), (A, B), (A, C), (A, B, C ))

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY A, GROUPING SETS ( (B), (C) )
GROUP BY GROUPING SETS ( (A, B), (A, C) )

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY ROLLUP (A, B), ROLLUP(C, D)
GROUP BY GROUPING SETS
    ( (),(C),(C,D),(A),(A,C),(A,C,D),(A,B),(A,B,C),(A,B,C,D) )

gruplandırma AYARLAR listesinde bulunan ROLLUP

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY GROUPING SETS ( (A), ROLLUP (B, C) )
GROUP BY GROUPING SETS ( (A), (B,C), (B), () )

Bir gruplandırma kümesi içinde bulunan ROLLUP

Aşağıdaki yan tümceleri eşdeğerdir:

GROUP BY GROUPING SETS(A, (B, ROLLUP(C, D)) )
GROUP BY GROUPING SETS (A, B, (B,C), (B, C, D) () )