I'm trying to better understand the analytical functions in SQL.

  1. Is my understanding correct that the windowing function will be applied to every unique combination of fields that appear in "partition by"?

  2. If I were to partition my result-set by several fields, does the order of appearance of these fields matter?

To be more specific, would the results of the following two queries differ in any circumstances?

Select customer_code,
       state,
       weekOfDate, 
       SUM(Sales) over(partition by customer_code,state,weekOfDate)
From Sales
Select customer_code, state, weekOfDate, SUM(Sales) over(partition by weekOfDate,state,customer_code) From Sales

有帮助吗?

解决方案

#1: yes

#2: no

PARTITION BY is similar to GROUP BY, ORDER doesn't matter

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top