SQL中的CUBE函數是用于對多個維度進行分組和聚合的
SELECT column1, column2, ..., columnN, aggregate_function(column)
FROM table_name
GROUP BY CUBE (column1, column2, ..., columnN);
其中:
column1, column2, ..., columnN
是需要進行分組的列名。aggregate_function(column)
是需要對哪一列進行聚合操作,例如SUM、COUNT、AVG等。table_name
是需要查詢的表名。CUBE函數會生成所有可能的組合,包括單個維度、多個維度以及所有維度的組合。例如,如果有3個維度(A、B、C),那么CUBE函數將生成8個子集:(A)、(B)、?、(A, B)、(A, C)、(B, C)、(A, B, C)和空集。
需要注意的是,使用CUBE函數可能會導致結果集非常大,因為它會生成大量的組合。在實際應用中,可以根據需求選擇使用CUBE或ROLLUP函數。