第十课 分组数据

创建分组

select vend_id, count(*) as num_prods
from products
group by vend_id;

group by 语句的规定:

  • 可以包含任意数目的列,因而可以对分组进行嵌套
  • 必须出现在where语句之后,having语句之前
    等等

过滤分组

过滤掉不符合条件的分组,使用having而不是where

** having和where的区别 **:
** where在数据分组前进行过滤,having在数据分组后进行过滤,where过滤的是行,having过滤的是分组 **

select cust_id, count(*) as orders
from orders
group by cust_id
having count(*) >= 2;

select vend_id, count(*) as num_prods
from products
where prod_price >= 4
group by vend_id
having count(*) >= 2;

分组和排序

Paste_Image.png
select order_num,count(*) as items
from orderItems
group by order_num
having count(*) >= 3
order by items, order_num;
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. SQL 简介 SQL 的目标 理想情况下,数据库语言应允许用户: 建立数据库和关系结构 完成基本数据管理任务...
    板蓝根plank阅读 2,392评论 0 11
  • SQL与MySQL简介 数据库基础 从SQL的角度来看,数据库就是一个以某种有组织的方式存储的数据集合。我们可以采...
    heming阅读 3,202评论 1 8
  • 对我自己来说,文章能抒发我的感情,表露我的喜悦,缓解我的忿怒,激励我的志向。这样的好处已经不算少了。 最初生活并没...
    悬壶医心阅读 223评论 0 0
  • A先生思前考后,还是觉得公司待自己不薄,便把这件事跟猎头做了沟通:老板给的条件我没办法拒绝,等到承诺实现,要比你这...
    三天宸少阅读 126评论 0 0
  • 终于哭出来了,源自于回想起母亲矗立在公公墓前的样子,那种不舍与内疚,以及祈求保佑我们的虔诚,母亲啊我爱你,我要把最...
    thewq阅读 232评论 0 0