select中的聚合函数和窗口函数的执行顺序

来源:15-21 窗口函数实战之功能一实现

慕少7351152

2022-05-29

老师好,
这节里我用以下包含distinct和窗口函数的sql语句1也跑出了正确结果,但是如果把窗口函数提到前面(如sql语句2)就会报错,
sql语句1:
select DISTINCT(name) dname,
count(name) over (partition by 1)
from w_orders
where date_format(time,‘yyyy-MM’)=‘2021-09’;

sql语句2:
select name, count(name) over (partition by 1),
DISTINCT(name) dname
from w_orders
where date_format(time,‘yyyy-MM’)=‘2021-09’;
图片描述

比较好奇如果像这样select语句中同时出现聚合函数和窗口函数的执行顺序是怎样呢?

写回答

1回答

Michael_PK

2022-05-30

很好的问题。

你如果想了解sql的执行顺序,最简单的办法就是去查看这个sql的执行计划,在执行计划中会有详细的先后步骤

0
3
慕少7351152
回复
Michael_PK
嗯嗯是的,所以查执行计划的时候也报了错。。
2022-06-02
共3条回复

Hadoop 系统入门+核心精讲

从Hadoop核心技术入手,掌握数据处理中ETL应用,轻松进军大数据

2397 学习 · 902 问题

查看课程