1

我有一个注册系统。所以基本上,我有age,gender等字段。

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

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

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

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

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

4

1 回答 1

2

我认为你可以完成你正在寻找的使用WITH ROLLUP

SELECT id, name, age, gender, category, count(*) cnt
from my_table
GROUP BY id. name, age, gender, category
WITH ROLLUP;
于 2011-08-22T06:55:06.653 回答