Mysql_窗口函数_OVER()的分组参数PARTITION BY

本文详细介绍了PARTITION BY与GROUP BY的区别及其在SQL查询中的应用。PARTITION BY作为分析函数,允许在保留所有数据的基础上对特定字段进行分组排序,而GROUP BY则用于聚合数据,仅保留分组字段和聚合结果。通过实例展示了如何使用PARTITION BY进行窗口函数操作,如查询每种类型火车的一等座总数量和每天每条线路的最快车速。
摘要由CSDN通过智能技术生成

一.PARTITION BY与GROUP BY区别

  • group by是分组函数,partition by是分析函数

  • 在执行顺序上:from > where > group by > having > order by,而partition by应用在以上关键字之后,可以简单理解为就是在执行完select之后,在所得结果集之上进行partition by分组

  • partition by相比较于group by,能够在保留全部数据的基础上,只对其中某些字段做分组排序(类似excel中的操作),而group by则只保留参与分组的字段和聚合函数的结果(类似excel中的pivot透视表)

二.PARTITION BY的基本用法

  • 在OVER()中添加 PARTITION BY
# 查询每种类型火车的ID,型号,一等座数量,同型号一等座数量总量
SELECT
    id,
    model,
    first_class_places,
    count
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值