【发布时间】:2018-05-21 21:12:05
【问题描述】:
试图理解 Partition By 并变得超级困惑,我有以下数据:
Name ID Product Date Amount
Jason 1 Car Jan 2017 $10
Jason 1 Car Feb 2017 $5
Jason 2 Car Jan 2017 $50
Jason 2 Car Feb 2017 $60
Jason 3 House Jan 2017 $20
Jason 3 House Feb 2017 $30
想做什么:
Select Name, ID, Product, Date, Amount,
**LAG(Amount,1) Over Partition By Name Order by Date**
FROM table
给我 Jason 上个月的正确金额相应的产品和 ID 号?因此,例如在 2017 年 2 月:Jason,ID 1 和 Product Car's 应该给我 5 美元。
或
我是否需要修改分区以包含产品和 ID,例如:
Select Name, ID, Product, Date, Amount,
**LAG(Amount,1) Over Partition By *Name, ID, Product* Order by Date** FROM table'
谢谢!
【问题讨论】:
-
在您的示例中,您的意思是 $10 而不是 $5 吗?
-
您的语法不正确。你的例子没有意义。只需在数据中添加另一列来指定您想要实现的目标怎么样?