我正在寻找一种使用Parition来计算Distinct的方法。
这是我现在拥有的。
Select
MasterID
,TxnCode
,TxnDate
,PriceDate
,Quantity
From
MH
Order By
TxnCode
我想做的是为每个TxnCode计算不同的PriceDates并将其作为名为PriceChanges的列返回。
我知道你做不了
Count(Distinct PriceDate) Over (Partition by TxnCode)
但有一种简单的方法吗?
以下是表中总体数据的示例:
ID TxnCode PriceDate PriceCharged
2 1514000 2013-10-01 15:49:00 2.0600
2 1514000 2013-10-01 15:49:00 2.0600
2 1514000 2013-10-01 15:49:00 2.0600
2 1516000 2013-03-13 11:24:00 4.4900
2 1516000 2013-03-13 11:24:00 4.4900
2 1516000 2013-10-01 15:49:00 4.0200
2 1516000 2013-10-01 15:49:00 4.0200
2 22120 2009-05-04 23:27:00 0.1500
2 22120 2009-05-04 23:27:00 0.1500
谢谢,
答案 0 :(得分:1)
我不确定你要对分区做什么,但是如果我正确地按照你的问题而你想要计算不同的PriceDates你应该能够用一个组而不是使用不同的
Select PriceDate, Count(*) as Count
MasterID
,TxnCode
,TxnDate
,PriceDate
,Quantity
From
MH
Group By PriceDate
这会得到类似的东西:
12/1/2013 2
12/2/2013 1
....