Mysql 从单个组的查询中获取总计
我正在运行一个查询,返回每个县的办公室总数Mysql 从单个组的查询中获取总计,mysql,sql,Mysql,Sql,我正在运行一个查询,返回每个县的办公室总数 SELECT county, COUNT(county) AS cnt FROM state GROUP BY county ORDER BY county ASC 我的结果如下所示: "Anderson" "138" "Andrews" "17" "Angelina" "80" "Aransas"
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"
是否有方法获取同一查询中返回的总计数?如果要将其作为列,请使用窗口函数:
SELECT county, COUNT(*) AS cnt,
SUM(COUNT(*)) OVER () as total
FROM state
GROUP BY county
ORDER BY county ASC;
如果要将其作为附加行,请使用:
我可能有一个旧版本的MySQL正在运行。第一个解决方案抛出错误,第二个也会抛出错误,除非我使用ROLLUP移动到GROUP BY COUNTRY并删除ORDER BY…哦,我将修饰符放在
ORDER BY
上,而不是GROUP BY
。我修正了答案。数据库客户端版本:libmysql-5.6.43如果我添加一行,我将如何使用这个值?@santa。我不明白那个评论。在最后一行。考虑应用程序代码中的数据数据显示问题。
SELECT county, COUNT(*) AS cnt
FROM state
GROUP BY county WITH ROLLUP;