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 子句中,不然会报错。
SQL 之group by查询语句相关推荐
- SQL学习笔记——Select查询语句
使用数据库和表的主要目的是存储数据以便在需要时进行检索.统计或组织输出. SELECT 语句,它是 T-SQL 的核心.从数据库中检索行,并允许从一个或多个表中选择一个 或多个行或列. 虽然 SELE ...
- sql server数据库 T-SQL查询语句(基本篇)
接上篇sql server 数据库增删改查(库与表) 删除数据 delete 表名 where 查询条件 T-sql查询语句 T-sql语句 增强版的sql语句,增加了更多的函数应用,流程控制,变量说 ...
- SQL语言中的查询语句整理
1. 查询语句的介绍: 本篇主要介绍sql语句里的查询语句,这其中包括了查询语句中的子内容,也就是拓展的内容,这些内容代入到查询语句中将会有更多的反应. 2. 查询语句: FROM命令: SELECT ...
- SQL:多表查询语句(嵌套子查询,多表连接)操作实例
一.SQL Server多表查询,包括连接操作和嵌套子查询 背景知识: 一.连接:分成内连接和外连接,内连接相当于取交集,外连接相当于取并集 二.嵌套子查询:连接操作浪费资源,使用嵌套子查询可以避免连 ...
- 【SQL】MySQL的查询语句
文章目录 SELECT语句 WHERE子句 JOIN语句 GROUP BY和HAVING ORDER BY LIMIT 其他关键字 MySQL是一种广泛使用的关系型数据库管理系统,它被广泛地应用于各种 ...
- SQL数据库的T-SQL 查询语句
T-SQL 查询语句 一.简单查询 1.列出全部学生的信息. SELECT * FROM 学生表 2.列出软件测试专业全部学生的学号及姓名. SELECT 学号,姓名 FROM 学生表 WHERE 专 ...
- mysql统计出每个姓氏的人数_基于SQL中的数据查询语句汇总
where条件表达式 --统计函数 Select count(1) from student; --like模糊查询 --统计班上姓张的人数 select count(*) from student ...
- sql server 2005 (select查询语句用法)
select * from userInfo where age like '2[25]' 功能:查询userInfo表中age字段,所有以2开头,且第二位是2或5的记录. select * from ...
- sql 查询表结构_SQL查询语句的完整结构解析
SELECT语句完整的句法模板: SELECT [DISTINCT] FROM [ JOIN ON ][WHERE ][GROUP BY [HAVING ]][ORDER BY ,...] 上述句法模 ...
- ElasticSearch-JDBC驱动 像使用SQL一样使用ElasticSearch查询语句
SQL JDBC 此功能是实验性的,可在将来的版本中完全更改或删除.弹性将采取尽力而为的方法来解决任何问题,但实验性功能不受官方GA功能的支持SLA的约束. Elasticsearch的SQL jdb ...
最新文章
- ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35
- Python3.5+SQL+Prometheus+Grafana报表/监控
- 熟悉交换机与路由器组网(图解)
- 【redis】redis实现API接口调用调用次数的限制
- Wait--查看等待
- python for循环连续输入五个成绩判断等级_Python 入门(五)条件判断和循环
- AtCoder Grand Contest 008: Contiguous Repainting(思维)
- Python3的迭代器
- 批量提取html文件数据库,风越批量文本提取器
- 金仓数据库 Oracle 至 KingbaseES 迁移最佳实践 (4. Oracle数据库移植实战)
- 计算机论文格式要求吗,计算机论文格式(写作要求详细介绍)
- 私域流量运营和微商有什么区别?
- Word页码从任意页开始设置方法
- 剑指offer 面试题46 python版+解析:把数字翻译成字符串
- 中国黑客的隐秘江湖:攻守对立 顶尖高手
- Vray材质学习笔记08——陶瓷材质
- Android中检测应用是否安装
- 字节码文件的内部结构之谜
- Android RecyclerView ItemDecoration 分割线
- 关于调用阿里大鱼发送手机验证码短信同一账号发送多次后失败