在 MySQL 中生成数据摘要、多列的行计数

发布于 2024-12-01 00:33:15 字数 533 浏览 5 评论 0原文

我有一个注册系统。基本上,我有诸如年龄、性别等字段。

这是我的 MySQL 数据库的简化架构:

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

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

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

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

I have a registration system. So basically, I have fields like age, gender, etc.

This is a simplified schema of my MySQL Database:

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

Basically I want to generate overall reports like the total number of registrants in a category, total number of males, total number of females, etc.

I have a basic knowledge of SQL. I know that I can use COUNT and GROUP BY to see "summaries" for a single column. So basically, I'd have to do multiple queries to get "summaries" for all columns. Can I do this in one query instead?

I also am going to provide detailed summaries. By this I mean, I'd have to tally how many males are in a category, how many minors are in a category, etc. It's sort of like a category X age, category X gender summary. Again, I know how to do this using multiple queries but I would like some opinion on a more elegant solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

窗影残 2024-12-08 00:33:15

我认为您可以使用 WITH ROLLUP 来完成您正在寻找的任务:

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

I think you can accomplish wat you're looking for using WITH ROLLUP:

SELECT id, name, age, gender, category, count(*) cnt
from my_table
GROUP BY id. name, age, gender, category
WITH ROLLUP;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文