生成数据摘要,MySQL中多列的行数

时间:2011-08-22 06:51:25

标签: mysql count visualization summary

我有一个注册系统。基本上,我有agegender等字段

这是我的MySQL数据库的简化模式:

---------------------------------------
| id | name | age | gender | category |
---------------------------------------

基本上我想生成总体报告,例如一个类别中的注册人总数,男性总数,女性总数等。

我对SQL有基本了解。我知道我可以使用COUNTGROUP BY查看单个列的“摘要”。所以基本上,我必须做多个查询才能获得所有列的“摘要”。我可以在一个查询中执行此操作吗?

我还将提供详细的摘要。我的意思是,我必须记录category中有多少男性,一个类别中有多少未成年人等等。这有点像category X agecategory X gender摘要。同样,我知道如何使用多个查询来做到这一点,但我想对更优雅的解决方案有一些看法。

1 个答案:

答案 0 :(得分:2)

我认为你可以使用WITH ROLLUP来完成你想要的东西:

SELECT id, name, age, gender, category, count(*) cnt
from my_table
GROUP BY id. name, age, gender, category
WITH ROLLUP;