Как насчет использования функции разделения COUNT OVER (PARTITION BY {столбец для группировки по}) в SQL Server?
Например, если вы хотите сгруппировать продажи товара по ItemID и хотите подсчитать каждый отдельный ItemID, просто используйте:
SELECT
{columns you want} ,
COUNT(ItemID) OVER (PARTITION BY ItemID) as BandedItemCount ,
{more columns you want}... ,
FROM {MyTable}
Если вы используете этот подход, вы можете оставить GROUP BY вне изображения - при условии, что вы хотите вернуть весь список (как вы могли бы сделать объединение отчетов, где вам нужно знать все количество элементов, которые вы собираетесь полоса без отображения всего набора данных, т. е. служб отчетов).