1.PARTITION BY 能够设定窗口对象范围,但不能对记录进行聚合。
2.常规的GROUP BY 只能得到每个分类的小计,有时候还需要计算分类的合计,可以用 ROLLUP关键字。
SELECT product_type
,regist_date
,SUM(sale_price) AS sum_price
FROM product
GROUP BY product_type, regist_date WITH ROLLUP
得到的结果为:

显示分组结果的时候有几个列需要分组结果显示就在group by后加几个字段名。ROLLUP 可以对多列进行汇总求小计和合计
3.
请说出针对本章中使用的product(商品)表执行如下 SELECT 语句所能得到的结果。
SELECT product_id
,product_name
,sale_price
,MAX(sale_price) OVER (ORDER BY product_id) AS Current_max_price
FROM product
按照 product_id 升序排列,计算出截⾄当前⾏的最⾼ sale_price 。
窗口函数计算的是截止当前的某一种聚合值。
本文探讨了PARTITION BY和GROUP BY在数据库查询中的作用,重点解析了ROLLUP关键字如何实现多级汇总。通过示例展示如何使用窗口函数计算每行记录的累计最高销售价格。了解这些技术能帮助提升数据处理和分析能力。
607

被折叠的 条评论
为什么被折叠?



