SUM of grouped COUNT in SQL Query SUM of grouped COUNT in SQL Query sql sql

SUM of grouped COUNT in SQL Query


SELECT name, COUNT(name) AS countFROM tableGROUP BY nameUNION ALLSELECT 'SUM' name, COUNT(name)FROM table

OUTPUT:

name                                               count-------------------------------------------------- -----------alpha                                              1beta                                               3Charlie                                            2SUM                                                6


SELECT name, COUNT(name) AS count, SUM(COUNT(name)) OVER() AS total_countFROM Table GROUP BY name


Without specifying which rdbms you are using

Have a look at this demo

SQL Fiddle DEMO

SELECT Name, COUNT(1) as CntFROM Table1GROUP BY NameUNION ALLSELECT 'SUM' Name, COUNT(1)FROM Table1

That said, I would recomend that the total be added by your presentation layer, and not by the database.

This is a bit more of a SQL SERVER Version using Summarizing Data Using ROLLUP

SQL Fiddle DEMO

SELECT CASE WHEN (GROUPING(NAME) = 1) THEN 'SUM'            ELSE ISNULL(NAME, 'UNKNOWN')       END Name,       COUNT(1) as CntFROM Table1GROUP BY NAMEWITH ROLLUP