27-1 分组-having
2024-09-07 14:39:17
group by
select * from TblStudent
--1.请从学生表中查询出每个班的班级id和班级人数
select
tsclassId as 班级id,
班级人数=count(*)
from TblStudent
group by tsclassId
--请统计出,所有学生中男同学和女同学的人数分别是多少
select
tsGender as 性别,
人数=count(*)
from TblStudent
group by tsGender --2.请从学生表中查询出每个班的班级id和班级中男同学的人数
select
tsclassId as 班级id,
男同学人数=count(*)
from TblStudent
where tsGender='男'
group by tsclassId
--------------------------------------------------
--当使用了分组函数group by或者是聚合函数的时候,在select的查询列表中不能再包括其他的列名,除非该列同时也出现在了group by子句中,或者该列也包含在了某个聚合函数中
select
sum(tsage),
性别=tsGender,
人数=count(*)
from TblStudent
group by tsGender
having
----对分组以后的数据进行筛选:使用having
--having和where都是对数据进行筛选,where是对分组前的每一行数据进行筛选,而having是对分组后的每一组数据进行筛选
select
tsclassId as 班级id,
班级人数=count(*)
from TblStudent
group by tsclassId
having count(*)>10
SELECT 语句的处理顺序
以下步骤显示SELECT语句的处理顺序。
1、FROM
2、ON
3、JOIN
4、WHERE
5、GROUP BY
6、with cube 或with rollup
7、HAVING
8、SELECT 8-1>选择列 8-2>distinct 8-3>top(应用top选项最后计算)
10、ORDER By
11、TOP
----------------------练习--------------------------
select * from MyOrders
--1.热销售商品排名表【即按照每种商品的总销售数量排序】
select
商品名称,
销售数量=sum(销售数量)
from MyOrders
group by 商品名称
order by 销售数量 desc --2.请统计销售总价超过3000元的商品名称和销售总价,并按销售总价降序排序。
select
商品名称,
销售总价=sum(销售数量)*销售价格
from MyOrders
group by 商品名称
having sum(销售数量)*销售价格>3000
order by 销售总价 desc --3.统计各个客户对“可口可乐”的喜爱度(既统计每个购买人对“可口可乐”的购买量)
select
购买人,
可口可乐购买量=sum(销售数量)
from MyOrders
where 商品名称='可口可乐'
group by 购买人
order by 可口可乐购买量 desc
注意:可以按照多列来排序,也可以按照多列来分组(即先按照一列来分组,再按照一组再进行分组)
最新文章
- 【BZOJ】3065: 带插入区间K小值
- Edius 安装 looks插件整理
- 解决virtualbox 虚拟机不能ping通win7
- 微软企业库5.0学习-Security.Cryptography模块
- 如何使用eclipse进行嵌入式Linux的开发
- PHP之语言基础01 By ACReaper
- 使用Topshelf组件构建简单的Windows服务
- Fiddler获取https会话
- 关于Mac中PATH环境变量可能会被修改的几个地方
- Linux学习之文件系统权限及表示
- spring的webutils包。适用于访问httpservletrequest和httpservletresponse
- [macOS] PHP双版本,5.6跟7.1
- python base64.b64decode 等号可以随便加
- An Exploration of ARM TrustZone Technology
- Python和Java编程题(三)
- NLP &; AI
- 递归--练习2--noi6261汉诺塔
- JS检测数据类型
- 用启动器py成功解决python2和python3同时共存且同时运行的问题
- [Android问答] px、dp和sp,这些单位有什么区别?
热门文章
- java 之 jsp详解
- 【Linux常见命令】tail命令
- Vue Cli 报错:You are using the runtime-only build of Vue where the template compiler is not availabl
- Guzzle 一个PHP的HTTP客户端
- .user.ini 无法修改/删除 怎么办?
- P3842 [TJOI2007]线段
- Android APK 重签名
- 【Python】Django2.0集成Celery4.1详解
- Java——接口相关知识
- 【Linux基础总结】Linux基本命令