Як щодо використання функції розбиття 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}
Якщо ви використовуєте такий підхід, ви можете залишити групу BY поза зображенням - якщо припустити, що ви хочете повернути весь список (як ви могли б зробити звіт про групування там, де вам потрібно знати всю кількість елементів, які ви збираєтеся згрупувати, не маючи при цьому для відображення всього набору даних, тобто служб звітування).