Mysql_窗⼝函数_OVER()的分组参数PARTITIONBY
⼀.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(id)OVER(PARTITION BY model)
FROM train;
PARTITION BY传⼊多列
# 查询每天,每条线路速的最快车速
SELECT
journey.id,
journey.date,
MAX(max_speed)OVER(PARTITION BY
route_id,date)
FROM journey
JOIN train
ON train.id = ain_id;
>groupby是什么函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论