这个课本的例子对我来说是个谜。我们有简单的方法:
Transaction_ID (primary key), Client_ID, Transaction_Amount, Month
1 1 500 1
2 1 1000 1
3 1 10 2
4 2 11 2
5 3 300 2
6 3 10 2
... ... ... ...我想在SQL中计算平均值(Transaction_Amount),标准差(Transaction_Amount)和按Client_ID分组的某个百分位数(交易金额)。但似乎,即使百分位数的计算与标准差非常相似,SQL也不能用一条简单的语句来实现,例如:
SELECT
mean(Transaction_Amount),
std(Transaction_Amount),
percentile(Transaction_Amount)
FROM
myTable
GROUP BY
Client_ID, Month或者说可以吗?
情况变得更糟,因为除了Client_ID之外,我还需要按月分组。
非常感谢!斯文
发布于 2016-01-16 21:05:40
我相信Oracle可以做你想要的计算。我只是不知道它们是什么。您指定要按ClientId分组的内容。但是,您的示例查询在GROUP BY中有两个键。
您需要了解的一些函数包括:
AVG()STDDEV()PERCENT_RANK()如果没有样本数据和所需的结果(或者对您试图计算的内容有一个非常清晰的解释),我就无法组合查询。
https://stackoverflow.com/questions/34817874
复制相似问题