例如 1:

create table if not exists employee(eid integer auto_increment primary key,name varchar(5),age,integer,salary integer,depart varchar(5),workage integer);

insert into employee (name,age,salary,depart,workage)

values ('崔铭','25',1500,'研发部',3), ('佳伟','23',1000,'市场部',2), ('刘涵','30',10600,'人事部',6), ('孙铭泽','25',2000,'运营部',5), ('张吉龙','21',15000,'生产部',12), ('从好平','22',1500,'质量部',3), ('杨忠','22',5000,'财务部',4), ('芦淞','24',6000,'采购部',7), ('马玉','25',450000,'销售部',29), ('成林','21',12000,'安全部',10), ('张龙','32',17000,'研发部',21), ('王建业','25',11000,'研发部',7), ('王佳敏','22',10000,'市场部',9), ('姜佳伟','27',10000,'人事部',13), ('王国栋','20',10012,'研发部',2), ('周昌洋','38',10560,'研发部',1), ('刘鑫鑫','18',1900,'人事部',6), ('刘博','21',2000,'研发部',11), ('乔鑫','19',13000,'运营部',12), ('宇航','20',10500,'生产部',21), ('赵浩然','33',10400,'总经理',21), ('常盛','24',1000,'生产部',2), ('刘麟','25',3000,'武装部',8);
# 1. 查询每个部门的总薪资select depart,SUM(salary) from employeegroup by depart;# 2. 员工数超过3人的部门的最高薪资和最低薪资select depart, MAX(salary),MIN(salary) from employeegroup by departhaving count(*) >3;
# 3. 工龄超过3年的员工中,薪资最低的所有员工信息select * from employeewhere salary in (select MIN(salary)from emploreewhere workage>3);
# 4. 工龄超过3年的员工数大于3的部门

select depart,count(*) from employeewhere workage > 3group by departhaving count(*)>3;

例如 2:
create table if not exists score(sname varchar(10), cname varchar(5),grade integer) charset=utf8;insert into score(sname,cname,grade)values ('张三','数学',80), ('张三','语文',90), ('张三','英语',70), ('张三','物理',60), ('李四','数学',66), ('李四','语文',60), ('李四','英语',80), ('李四','物理',90), ('刘志麟','语文',99), ('刘志麟','数学',50), ('刘志麟','英语',50), ('刘志麟','物理',89), ('罗宇航','语文',99), ('罗宇航','数学',80), ('罗宇航','物理',78), ('罗宇航','英语',96), ('许振东','数学',96), ('许振东','语文',96), ('许振东','英语',96), ('许振东','物理',96);
# 1. 查询90分以上的学生的课程名和成绩select * from scorewhere grade > 90;
# 2. 查询每个学生的成绩在90分以上的各有多少门select sname,count(cname) from scorewhere grade > 90group by snamehaving count(cname);# 3. 至少有两门课程在90分以上的学员以及90分以上的课程数 select sname,count(cname) from socrewhere grade > 90group by snamehaving count(cname) >2;
# 4. 平均成绩比张三的平均成绩高的学员和其平均分

select sname, AVG(grade) from score group by snamehaving AVG(grade) > (select AVG(grade) from scorewhere sname = '张三');
# 5. 查询平均成绩大于90分并且语文课95分以上的学生名和平均成绩select sname, AVG(grade) from scorewhere sname in (select sname from scorewhere cname='语文'and grade>95)group by snamehaving AVG(grade)>90;
# 6. 查询每个学员的平均分和学生名select sname, AVG(grade) from scoregroup by sname;
# 7. 查询每门课的最好成绩和平均分select cname MAX(grade),AVG(grade) from scoregroup by cname;
# 8. 查询数学课成绩最好的学员的所有成绩select * from scorewhere sname in (select sname from scorewhere grade =(select MAX(grade)from scorewhere cname='数学')and cname='数学');
# 9. 查询学员及其总分,按总分降序排列select sname ,SUM(grade) from scoregroup by snameorder by SUM(grade) desc;
 

 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/xuzhendong-0302/p/10596163.html

group by 和 having 用法相关推荐

  1. 详解Python正则表达式中group与groups的用法

    在Python中,正则表达式的group和groups方法是非常有用的函数,用于处理匹配结果的分组信息. group方法是re.MatchObject类中的一个函数,用于返回匹配对象的整个匹配结果或特 ...

  2. oracle中having的用法,深入浅析SQL中的group by 和 having 用法

    一.sql中的group by 用法解析: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". 作用:通过一定的规则将一个数据集划分成 ...

  3. sql中group by 和having 用法解析

    --sql中的group by 用法解析: -- Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". --它的作用是通过一定的规则将一 ...

  4. GROUP BY和HAVING用法介绍

    一.group by 和 having 1.满足"SELECT子句中的列名必须为分组列或列函数",因为SELECT有group by中包含的列 2.having必须和group b ...

  5. mysql group concat_mysql group_concat()函数用法总结

    本文实例讲述了mysql group_concat()函数用法.分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比 ...

  6. SQLiteSpy软件学习sql语句Group by的各种用法。

    SQLiteSpy 下载软件的下载安装步骤不再冗述,百度搜索一下很多下载链接. 1.新建一个数据库: File->New Database,起名为SqlLearning.如下图: 2.sql语句 ...

  7. mysql group by 和 having 用法

    1.先看表 2.现在需要查询各个部门的薪水总和.有个条件是,薪水小于等于150的员工不参与统计 直接上结果 select p.dept_id,sum(p.salary) sal from  perso ...

  8. mysql中group by 的用法解析

    1. group by的常规用法 group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤. 聚合函数max se ...

  9. MySQL数据库之GROUP BY用法

    1.MySQL数据库之GROUP BY的常规用法 group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤. 聚合 ...

  10. mysql的group语句_MySQL中distinct与group by语句的一些比较及用法讲解

    这篇文章主要介绍了MySQL中distinct与group by的一些比较及用法讲解,二者在查询操作中的用法有很多相似之处,需要的朋友可以参考下 在数据表中记录了用户验证时使用的书目,现在想取出所有书 ...

最新文章

  1. 笔记本vista改xp后机器蓝屏的解决办法
  2. 计算机组成考试题及答案,计算机组成测试题一参考答案
  3. 资源 | UC Berkeley CS 294深度强化学习课程(附视频、学习资料)
  4. Selenium2之Web自动化编写API(Java)
  5. bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
  6. 大龄程序员想转产品经理?3本书给你最靠谱的进阶攻略
  7. Kafka 时间轮的原理和实现
  8. 力扣1103.分糖果
  9. 噪点测试软件 DeadPixelTest 使用方法
  10. 2015 2020 r4烧录卡 区别_【2015年和2020年上半年市场资金结构有何差异?】东北证券金融工程择时周报20200802...
  11. matlab计算abc三相短路电流_变频电源的安装及单相/三相变频电源电流计算公
  12. Windows安装redis教程
  13. zigbee学习之串口通信
  14. LHC有望揭示新的物理学理论
  15. Sci-hub最新变种网址
  16. 计算机控制技术第二章,微型计算机控制技术 赖寿宏版 课件 第二章.ppt
  17. wamp+php+下载,wampserver 64位(php环境搭建安装包)下载_wampserver 64位(php环境搭建安装包)官方下载-太平洋下载中心...
  18. 奇数值结点链表(C语言实现)
  19. 金蝶EAS开发 第二弹:了解开发工具与基本使用(下)
  20. 微信内前端H5定位方式比较

热门文章

  1. ROS学习记1——玩弄小海龟
  2. Python使用Faker库
  3. Android App性能测试| 流量、电量、弱网环境
  4. android型号的平板电脑,AUTOID Pad /Air-(win)/Air-(android)工业级平板电脑
  5. 【车间调度】帝国企鹅算法求解柔性车间调度问题【含Matlab源码 1991期】
  6. powerVR tbdr 硬件架构理解
  7. 跟我一起水疗的哥俩儿,其实挺猛的!
  8. No rule to make target
  9. maya2018模型传递点序
  10. 2016年360校招笔试题