SQL 之group by查询语句

Group by是根据一个或多个列对结果集进行分组,该语句要结合聚合函数。

使用group by的前提是我们要知道什么是聚合函数。

聚合(aggregate)函数计算从列中取得的值,返回一个单一的值。

聚合函数:

Avg()-返回平均值

语法:select avg(SELECT AVG(column_name) FROM table_name)

Count()返回行数(null不计入)

语法:SELECT COUNT(column_name) FROM table_name;

First() 返回第一个记录的值

语法:SELECT FIRST(column_name) FROM table_name;

Last()返回最后一个记录的值

语法:SELECT LAST(column_name) FROM table_name;

Max()返回最大值

语法:SELECT MAX(column_name) FROM table_name;

Min() 返回最小的值

语法:SELECT MIN(column_name) FROM table_name;

Sum()返回总数

语法:SELECT SUM(column_name) FROM table_name;

Group by语法:

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

下面是简单的group by 语句的实例:

下表是选自某校的学生表(student

查询学号为“s001”的学生信息

因此我们要这样子写:

温謦提示:

如果我们用到group by语句,所选列表中的列一定要包含在group by 子句中。

执行sql语句的结果

下面是带有聚合函数的 group by实例:

下表是选自某校的成绩(sc

查询平均成绩大于60 分的同学的学号和平均成绩:

实例:

执行以上SQL输出结果如下:

此时我们可以看出:

Where关键字是不可以与聚合函数一起使用的。这个时候我们就得用到having

Having 子句可以让我们筛选分组后的各组数据、

实例:

执行以上SQL输出结果如下:

最后可以总结出:

如果我们要使用聚合函数就一定要用到group by语句,而且不能用where子句作为筛选

条件,通常用having字句。并且在使用group by的时候,所选表中的列一定要包含在group by 子句中,不然会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值