T-SQL является предпочтительным способом, если вы используете SQL Server 2005 или 2008.
Если вы используете SQL Server 2005 или 2008, вы можете попробовать:
SELECT *, COUNT(*) FROM TBL
GROUP BY COMPANY, STATUS, YEAR
WITH ROLLUP -- or WITH CUBE
Если вы используете SQL Server 2008, вы можете попробовать:
SELECT *, COUNT(*) FROM A
GROUP BY
GROUPING SETS (
(COMPANY),
(COMPANY, STATUS),
(COMPANY, STATUS, YEAR)
)
Для получения подробной информации о GROUP BY WITH ROLLUP / CUBE и ГРУППОВЫХ КОМПЛЕКТАХ смотрите GROUP BY .