sql >> Database teknologi >  >> RDS >> Sqlserver

Forstå forskellene mellem CUBE og ROLLUP

Du vil ikke se nogen forskel, da du kun ruller en enkelt kolonne op. Overvej et eksempel, hvor vi gør

ROLLUP (YEAR, MONTH, DAY)

Med en ROLLUP , vil den have følgende udgange:

YEAR, MONTH, DAY
YEAR, MONTH
YEAR
()

Med CUBE , vil den have følgende:

YEAR, MONTH, DAY
YEAR, MONTH
YEAR, DAY
YEAR
MONTH, DAY
MONTH
DAY
()

CUBE indeholder i det væsentlige alle mulige rollup-scenarier for hver node, hvorimod ROLLUP vil holde hierarkiet i takt (så det ikke springer MÅNED over og viser YEAR/DAY, mens CUBE vil)

Dette er grunden til, at du ikke så en forskel, da du kun havde en enkelt kolonne, du rullede op.

Håber det hjælper.



  1. Valg af rækker baseret på nogle få regler

  2. Hvorfor er denne forespørgsel langsom første gang, efter jeg har startet tjenesten?

  3. Mysql skæringspunkt baseret på enkelt felt

  4. Hvordan vælger jeg kun en del af en enorm binær (fil)?