SQL GROUP BY 每组数量
在SQL中,使用GROUP BY子句可以按照指定的列对数据进行分组。在这篇文章中,我们将详细介绍如何使用GROUP BY子句来统计每个分组中的记录数量。
概述
GROUP BY子句用于将结果集按照一个或多个列进行分组,然后对每个组应用聚合函数(如COUNT、SUM、AVG等)。在统计数据中,经常需要查询每个分组中的记录数量,这时就需要使用COUNT函数结合GROUP BY子句来实现。
下面以一个示例数据表为例来说明如何使用GROUP BY来统计每个分组的数量:
假设我们有一个名为users
的数据表,包含以下字段:
- id:用户ID
- name:用户名
- city:城市
现在我们希望统计每个城市中的用户数量,即统计每个城市分组的数量。
SQL语句
下面是一个基本的SQL语句,用于统计每个城市中的用户数量:
上面的SQL语句中,我们通过SELECT语句选择了需要查询的列city
和使用COUNT函数统计每个城市分组的数量,别名为count
。然后使用GROUP BY子句将数据按照city
列分组。
运行结果
假设我们的users
表中有以下数据:
id | name | city |
---|---|---|
1 | Tom | Beijing |
2 | Mary | Shanghai |
3 | John | Beijing |
4 | Jack | Shanghai |
5 | Lisa | Beijing |
执行上面的SQL语句后,将会得到如下结果:
city | count |
---|---|
Beijing | 3 |
Shanghai | 2 |
以上结果表明,北京有3个用户,上海有2个用户。
总结
通过使用GROUP BY子句和COUNT函数,我们可以方便地统计每个分组的数量。在实际工作中,这种统计分组数量的需求十分常见,因此掌握如何使用GROUP BY来实现这一功能是很重要的。