Добавить дополнительную итоговую строку после группировки в SQL

Вы можете использовать такой код:

char *MyFunction(some arguments...)
{
    char *pointer = malloc(size for the new array);
    if (!pointer)
        An error occurred, abort or do something about the error.
    return pointer; // Return address of memory to the caller.
}

Когда вы это сделаете, память должна быть освобождена позже, передав адрес бесплатно.

Есть другие варианты , Подпрограмма может возвращать указатель на массив (или часть массива), который является частью некоторой существующей структуры. Вызывающий может передать массив, и программа просто записывает в массив, а не выделяет пространство для нового массива.

1
задан Dale Burrell 15 January 2019 в 19:54
поделиться

1 ответ

Вы можете использовать grouping sets:

SELECT COALESCE(CustomGroup, 'Total') as CustomerGroup,
       Mastergroup AS Receipts, SUM(ReceiptAmount) AS 'Sum'
FROM TableA a CROSS APPLY
     (VALUES (CASE WHEN MasterGroup in ('A', 'B') THEN 'Group 1'
                   WHEN MasterGroup in ('C', 'D') THEN 'Group 2'
                   WHEN MasterGroup in ('E') THEN 'Group 3'
              END)
     ) v(custom_group)
WHERE [MasterGroup] IN ('Other','A', 'B', 'C', 'D', 'E')
GROUP BY GROUPING SETS ( (CustomGroup, Mastergroup), (CustomGroup) );

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

0
ответ дан Gordon Linoff 15 January 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: