从单个组的查询中获取总计

时间:2020-11-05 02:31:20

标签: mysql sql

我正在运行一个查询,该查询返回每个县的办公室总数。

SELECT county, COUNT(county) AS cnt
FROM state
GROUP BY county
ORDER BY county ASC

我的结果如下:

"Anderson"  "138"
"Andrews"   "17"
"Angelina"  "80"
"Aransas"   "56"
"Archer"    "38"

是否可以获取同一查询中返回的总数?

1 个答案:

答案 0 :(得分:1)

如果要将其作为列,请使用窗口函数:

SELECT county, COUNT(*) AS cnt,
       SUM(COUNT(*)) OVER () as total
FROM state
GROUP BY county
ORDER BY county ASC;

如果您希望将其作为附加行,请使用WITH ROLLUP

SELECT county, COUNT(*) AS cnt
FROM state
GROUP BY county WITH ROLLUP;