2014-02-12 26 views
0

我想更好地理解SQL中的分析函数。SQL窗口函数:列的外观顺序是否与分区有关?

  1. 我的理解是正确的,窗口函数将应用于出现在“partition by”中的每个唯一字段组合?

  2. 如果我要用几个字段来划分我的结果集,这些字段的出现顺序是否重要?

更具体地说,以下两个查询的结果在任何情况下都会有所不同吗?

 
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

回答

3

#1:是

#2:没有

PARTITION BY类似于GROUP BY,顺序并不重要