1、查询结果的分组操作

a、分组允许把数据分为多个组,以便能对每个组进行聚集计算

b、分组是在select语句的group by 子句中建立的

注意:group by 只是创建分组,但并不保证分组里面的数据的排列顺序,需要使用order by 子句对分组里面的数据进行排序

目的:使用group by 语句对select 查询的结果进行分组,以便统计

实例

数据库:crachsource 表:products 字段:id

统计数量:

select id,count(*) as num_prods from crachsource.products group by id;

2、分组操作实例(解释)

a、select 语句指定了两个列,id 包含产品商家ID,num_prods 为计算字段(使用count()函数)

b、group by 子句按 id 排序并分组数据,这导致对每个id 而不是整个表计算num_prods一次,从而按照id为单位来计算每个组的总和

注意: group by 子句必须出现在where 子句之后,order by 子句之前

3、过滤分组

a、除了能用group by 分组数据外,Mysql 还允许对分组指定条件,规定包含哪些分组,排除哪些分组

b、Mysql 使用having 子句来完成该操作

c、where子句过滤指定的涵,having 子句过滤指定的分组

实例

1) 使用group by + having

数据库:crashsource  表:order 字段:id

筛选在order 中该id出现的次数>=2次(过滤总数大于等于2的分组)

select id,count(*) as oders from crashsource.order group by id having count (*) >= 2;

2)使用where +group by +having

数据库:crashsource 表:order 字段:id 、price

筛选在order 对应用户id 出现次数>=2、价格为10元以上的购买用户

select id,count(*) as num_prods from crashsource.order where price >=10 group by id having count(*) >=2;

4、select 中子句的顺序

a、select 语句中使用的子句必须按照一定的次序,下图列出来各个子句在select 语句中出现的次序

5、子查询:嵌套在其他查询中的查询

数据库:crashsource 订单存储在两个表中,order 保存订单号order_num,客户order_id,订单日期

个订单的物品信息保存在orderitems 表,orders 表不储存客户信息,它只保存客户cust_id,实际的客户信息存储在customers 表中

如果需要列出订购物品TNT2的所有客户,客园采用下列步骤

a、查找包含物品TNT2的所有订单的编号;

b、查找前一步骤列出的订单编号的所有客户的id;

c、查找前一步返回的所有客户id的客户信息

1-通过多个查询

select order_num from crashsource.orderitems where order_id = 'TNT2';

如返回:‘001,002’

select cust_id fron crashsource.orders where order_num in (001,002);

2-通过一个查询

select cust_id from crashsource.orders where order_num in (select order_num from crashsource.orderitems where order_id = 'TNT2');

mysql怎么分组查询所有数据库_Mysql-4 分组查询与子查询相关推荐

  1. mysql 两表连接删除数据库_Mysql (二)Mysql 数据库表增删改查

    一.表操作 1.[增加] create table DBname.table_name(id int, namevarchar(255))engine=MyISAM charset=gbk; 2.[删 ...

  2. MySQL数据库子查询#where、from、exists三大类型子查询总结

    1.什么是子查询? 当一个查询嵌套了另一个查询,把嵌套在里面的查询先执行的查询就称为子查询. 2.什么情况下会使用到子查询? 当一个查询要完成时,需要用到另一个查询的结果才能继续操作,那么这个查询的s ...

  3. mysql子查询查询子字段_MySQL知识整理7.4—子查询

    数据科学探路者:MySQL知识整理7.3-连接查询​zhuanlan.zhihu.com 四.子查询 什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强 ...

  4. MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询

    第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑 ...

  5. 数据库拆分3--使用sharding-jdbc 支持子查询sql

    最近在使用sharding-jdbc来改造项目的时候遇到了一些问题,主要是有关子查询的,记录一下. 结论 4.0.0-RC1版本是有限制支持子查询的 主查询和子查询必须保证相同的分片键; 4.4.1可 ...

  6. MySQL使用IN、EXISTS、ANY、ALL关键字的子查询

    子查询是SELECT查询的另一个查询的附属,MySQL 4.1可以嵌套多个查询,在外面一层的查询中使用里面一层查询产生的结果集.这样就不是执行两个(或者多个)独立的查询,而是执行包含一个(或者多个)子 ...

  7. 嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏

    文章目录 1.需求分析与问题解决 2.单行子查询 3.多行子查询 4.相关子查询 5.抛一个思考题 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入.SQL 中 ...

  8. Oracle数据库SQL语句(四)—子查询(嵌套查询)

    Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...

  9. 【Oracle 数据库】奶妈式教程 day09 子查询

    子查询 子查询指一个查询语句嵌套在另一个查询语句内部的查询 1.from后面的子查询 举例:查询员工的姓名和他上级的姓名 SELECT E.*, E2.EMPNO, E2.ENAME MNAME, E ...

  10. oracle单行子查询返回多个行 order by,单行子查询返回多个行

    子查询: 用子查询能解决的问题 假想你想要写一个查询来找出挣钱比陆涛的薪水还多的人.为了解决这个问题,你需要两个查询:一 个找出陆涛的收入,第二个查询找出收入高于陆涛的人. 你可以用组合两个查询的方法 ...

最新文章

  1. java用tkmapper分组查询_mybatis example group by count 分组求和 - java分组求和
  2. 红旗系统linux忘了开机密码,红旗Linux6.0中忘记了root密码
  3. FullCalendar 四:FullCalendar应用——新建日程事件
  4. git安装错误:can not read system config
  5. 看懂友盟指数,洞察移动行业大趋势
  6. mysql能管理多大的硬盘,Mysql----查看数据库,表占用磁盘大小
  7. JAVA练手--数组
  8. oracle分区键使用大于小于会失效吗_大规模使用 Apache Kafka 的20个最佳实践
  9. 产品快速迭代的五大要点
  10. 怎样用计算机画太极,用IF函数画个太极图
  11. 离谱的 CSS!从表盘刻度到剪纸艺术
  12. 办公必备计算机软件,干货分享!电脑必备的4款办公神器
  13. python取数组的一列,numpy取数组前几列 怎样取numpy数组指定行列
  14. 《UnityAPI.Application应用程序》(Unity+SteamVR+云技术+5G+AI+VR云游戏+API+dataPath+OpenURL+LoadLevel+立钻哥哥++OK++)
  15. 平均精度均值(Mean Average Precision, mAP)
  16. 手把手教你设置 IntelliJ IDEA 的彩色代码主题
  17. 4G拨号上网 之 AT指令学习
  18. 数据分析的统计方法选择小结(变量之间的关联性分析)
  19. 面向对象的个人理解(封装/继承/多态实践)
  20. 深度学习入门论文(语音识别领域)

热门文章

  1. 一个多业务、多状态、多操作的交易链路?闲鱼架构这样演进
  2. 能用机器完成的,千万别堆工作量|持续集成中的性能自动化测试
  3. 用户需求源源不断,阿里云网络创新不止
  4. Gartner:企业机构需重新定义网络安全领导者角色
  5. 如果被问到分布式锁,应该怎样回答?
  6. 运维监控再添新品,F5联合智维数据推出应用质量主动拨测解决方案
  7. 5G基站功耗,到底有多大?
  8. 一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心
  9. linux无法关机 grub2,Ubuntu关机卡住无法关机如何解决?
  10. python创建只包含一个元素的元组时_Python中声明只包含一个元素的元组数据方法...