poniedziałek, 18 stycznia 2010

SQL - ciekawostki

I... kolejna:

operator CUBE w SQLS:

Takie coś:
SELECT nazwa AS [Customer] , YEAR(data) AS [Year] , MONTH(data) AS    
[Month], SUM(wart_net) AS [Sales] ,GROUPING_ID(nazwa, YEAR(data),    
MONTH(data)) AS [GroupLevel] FROM TestDatabase.dbo.FAKTURA FAKTURA    
GROUP BY CUBE (nazwa, YEAR(data), MONTH(data)) ORDER BY    
GROUPING_ID(nazwa, YEAR(data), MONTH(data)) DESC,nazwa, YEAR(data),    
MONTH(data)

Daje takie coś:
CustomerYear    Month   Sales   GroupLevel
                           662,8       7
                       1   145,2       6
                       2    66,5       6
                       3   123,9       6
                       4   164,3       6
                       5    42,6       6
                       6    19,8       6
                       7    21,2       6
                       8    44,4       6
                       9    13,6       6
                      10     5,8       6
                      11     4,5       6
                      12      11       6
            2004           554,7       5
            2005           108,1       5
            2004       1     140       4
            2004       2      41       4
            2004       3   118,4       4
            2004       4   153,9       4
            2004       5    42,6       4
            2004       6      15       4
            2004       7       5       4
            2004       8     3,9       4
            2004       9    13,6       4
            2004      10     5,8       4
            2004      11     4,5       4
            2004      12      11       4
            2005       1     5,2       4
            2005       2    25,5       4
            2005       3     5,5       4
            2005       4    10,4       4
            2005       6     4,8       4
            2005       7    16,2       4
            2005       8    40,5       4
ANEX                         5,5       3
AREX                         140       3
BRONEX                      83,6       3
CELIMP                      19,4       3
DAREX                        3,9       3
EDEX                        30,7       3
EXIMP                         15       3
FRANEX                        11       3
GRZESIEX                     4,5       3
HANIMPEX                       5       3
IMPEX                       40,5       3
JARIMPEX                   118,4       3
JUREX                      153,9       3
KOWALSKI                     4,8       3
NOWAK                       16,2       3
SIANEX                      10,4       3
ANEX                   3     5,5       2
AREX                   1     140       2
BRONEX                 2      41       2
BRONEX                 5    42,6       2
CELIMP                 9    13,6       2
CELIMP                10     5,8       2
DAREX                  8     3,9       2
EDEX                   1     5,2       2
EDEX                   2    25,5       2
EXIMP                  6      15       2
FRANEX                12      11       2
GRZESIEX              11     4,5       2
HANIMPEX               7       5       2
IMPEX                  8    40,5       2
JARIMPEX               3   118,4       2
JUREX                  4   153,9       2
KOWALSKI               6     4,8       2
NOWAK                  7    16,2       2
SIANEX                 4    10,4       2
ANEX        2005             5,5       1
AREX        2004             140       1
BRONEX      2004            83,6       1
CELIMP      2004            19,4       1
DAREX       2004             3,9       1
EDEX        2005            30,7       1
EXIMP       2004              15       1
FRANEX      2004              11       1
GRZESIEX    2004             4,5       1
HANIMPEX    2004               5       1
IMPEX       2005            40,5       1
JARIMPEX    2004           118,4       1
JUREX       2004           153,9       1
KOWALSKI    2005             4,8       1
NOWAK       2005            16,2       1
SIANEX      2005            10,4       1
ANEX        2005       3     5,5       0
AREX        2004       1     140       0
BRONEX      2004       2      41       0
BRONEX      2004       5    42,6       0
CELIMP      2004       9    13,6       0
CELIMP      2004      10     5,8       0
DAREX       2004       8     3,9       0
EDEX        2005       1     5,2       0
EDEX        2005       2    25,5       0
EXIMP       2004       6      15       0
FRANEX      2004      12      11       0
GRZESIEX    2004      11     4,5       0
HANIMPEX    2004       7       5       0
IMPEX       2005       8    40,5       0
JARIMPEX    2004       3   118,4       0
JUREX       2004       4   153,9       0
KOWALSKI    2005       6     4,8       0
NOWAK       2005       7    16,2       0
SIANEX      2005       4    10,4       0

Wszystkie podsumowania częściowe naraz.
Ostatnia kolumna to "poziom podsumowania". Bajer, ale zastosowania    
nie znam. Tabela przestawna załatwia to lepiej, ale dobrze    
wiedzieć, że można to już załatwiać na niższym    
poziomie.

Brak komentarzy:

Prześlij komentarz