我正在寻找一种使用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谢谢,
发布于 2013-12-07 04:15:39
我不确定您正在尝试对分区做什么,但是如果我正确地理解了您的问题,并且您想要计算不同的PriceDates,那么您应该能够通过使用组而不是使用distinct来执行此操作
Select PriceDate, Count(*) as Count
MasterID
,TxnCode
,TxnDate
,PriceDate
,Quantity
From
MH
Group By PriceDate这会给你带来一些类似的东西:
12/1/2013 2
12/2/2013 1
....https://stackoverflow.com/questions/20432744
复制相似问题