group by的用法

本文详细介绍了SQLGROUPBY子句的使用,包括基本分组、多列分组、HAVING子句的应用以及与聚合函数(如COUNT(),SUM(),AVG())的配合,展示了GROUPBY在数据分析中的核心作用。
摘要由CSDN通过智能技术生成

GROUP BY 是 SQL 中的一个子句,用于将多行数据按照一个或多个列进行分组。通常与聚合函数(如 COUNT(), SUM(), AVG() 等)一起使用,以对每个分组进行汇总或计算。

注意:聚合函数的列不能出现在GROUP BY后面。

 

下面是一些使用 GROUP BY 的例子:

 

1. 基本的 GROUP BY 示例

例如一个简单的 students 表:

 

 

| id | name | age |

|----|-------|-----|

| 1 | Alice | 20 |

| 2 | Bob | 22 |

| 3 | Carol | 20 |

| 4 | Dave | 22 |

如果你想知道每个年龄有多少学生,你可以使用 GROUP BY:

 

 

SELECT age, COUNT(*) as num_students

FROM students

GROUP BY age;

结果:

| age | num_students |

|------|--------------|

| 20 | 2 |

| 22 | 2 |

2. 使用多个列进行分组

如果你想按年龄和性别分组,可以这样做:

 

SELECT age, gender, COUNT(*) as num_students

FROM students

GROUP BY age, gender;

3. 使用 HAVING 子句进行过滤

与 WHERE 子句不同,HAVING 子句用于过滤分组结果。例如,如果你只想看到有超过一个学生的年龄:

 

SELECT age, COUNT(*) as num_students

FROM students

GROUP BY age

HAVING num_students > 1;

4. 与聚合函数结合使用

你还可以与聚合函数结合使用 GROUP BY,例如计算每个年龄的平均分数:

 

SELECT age, AVG(score) as avg_score

FROM students

GROUP BY age;

这些是 GROUP BY 的基本用法。当然,还有许多高级用法和与其他 SQL 功能(如 JOIN)的结合使用。

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值