Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Entendendo as diferenças entre CUBE e ROLLUP


Você não verá nenhuma diferença, pois está apenas acumulando uma única coluna. Considere um exemplo em que fazemos

ROLLUP (YEAR, MONTH, DAY)

Com um ROLLUP , terá as seguintes saídas:
YEAR, MONTH, DAY
YEAR, MONTH
YEAR
()

Com CUBE , terá o seguinte:
YEAR, MONTH, DAY
YEAR, MONTH
YEAR, DAY
YEAR
MONTH, DAY
MONTH
DAY
()

CUBE essencialmente contém todos os cenários de rollup possíveis para cada nó, enquanto ROLLUP manterá a hierarquia intacta (para não pular MONTH e mostrar YEAR/DAY, enquanto CUBE vai)

É por isso que você não viu diferença, pois só tinha uma única coluna que estava acumulando.

Espero que ajude.