本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:
https://tianchi.aliyun.com/specials/promotion/aicampsql
5.1
从shop表中查询product_id,product_name,sale_price三个字段,并以product_id为关键词排序,然后计算在当前id及之前最贵的产品sale_price
5.2
SELECT product_id
,product_name
,sale_price
,regist_date
,SUM(sale_price) OVER (ORDER BY regist_date) AS Current_sum_price
FROM product;
5.3
1,如果窗口函数中不使用PARTITION BY语句,则默认按照所有字段全局分组排序
2,SQL语句在执行过程中并非按照书写顺序执行,首先是FROM子句,然后是条件过滤语句例如WHERE子句或HAVING子句和GROUP BY子句,然后才执行SELECT,在条件筛选完成后再执行PARTITION BY才能得到正确的分组结果,否则之前的分组计算没有意义,也有可能得到错误的结果,而ORDER BY子句在SELECT子句之后执行,在正确的结果基础之上再执行也不会出错。