Разница между CUBE и WITH CUBE

Я обнаружил, что в MSSQL существует как

SELECT <list of columns>, sum(measure) as measure    
FROM fact-table
GROUP BY <list of columns> WITH CUBE

а также

SELECT <list of columns>, sum(measure) as measure    
FROM fact-table
GROUP BY CUBE (<list of columns>)

Я блуждал, в чем разница, потому что, используя их, я получаю одинаковые результаты с обоими синтаксисами.

Также я помню, что, по крайней мере, для версии 2008, WITH CUBE поддерживался экспресс-выпуском, а ROLLUP (), CUBE () и GROUPING SETS () были особенностями «выпусков Enterprise».

Не думаю, что есть разница. Честно говоря, я обычно использую grouping sets, поэтому итоговые размеры указаны явно.

Gordon Linoff 06.08.2018 16:47
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
1
422
2

Ответы 2

Я считаю, что ключевое слово С УЧАСТИЕМ необязательно во всех контекстах, кроме запуска объявления CTE, в этом случае - оба делают одно и то же

Разница указана в документация:

Syntax for SQL Server and Azure SQL Database
ISO-Compliant Syntax

GROUP BY {
      column-expression  
    | ROLLUP ( <group_by_expression> [ ,...n ] )  
    | CUBE ( <group_by_expression> [ ,...n ] )  
    | GROUPING SETS ( <grouping_set> [ ,...n ]  )  
    | () --calculates the grand total 
} [ ,...n ] 

For backward compatibility only.
Non-ISO-Compliant Syntax for SQL Server and Azure SQL Database

GROUP BY 
      [ ALL ] column-expression [ ,...n ] 
    | column-expression [ ,...n ] [ WITH { CUBE | ROLLUP } ]   

а также:

Feature   SQL Server             SQL Server                SQL Server 2008 or later
          Integration Services   compatibility level 100   with compatibility level 90
                                 or higher

CUBE      Not supported          Supported                 Not supported

WITH CUBE Supported              Supported                 Supported

Другие вопросы по теме