这本教科书的例子对我来说是一个谜。我们简单地说:
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中计算由Client_ID分组的平均值(Transaction_Amount),std(Transaction_Amount)和某些百分位数(交易金额)。但看起来,即使假设百分位数与标准差非常相似,SQL也不能用简单的语句来做:
SELECT
mean(Transaction_Amount),
std(Transaction_Amount),
percentile(Transaction_Amount)
FROM
myTable
GROUP BY
Client_ID, Month
还是可以吗?
它变得更糟,因为除了Client_ID之外,我还需要按月分组。
非常感谢! 斯文
答案 0 :(得分:0)
我确定Oracle 可以进行您想要的计算。我只是不知道它们是什么。您指定要按ClientId
分组的内容。但是,您的示例查询在GROUP BY
中有两个键。
您想要查看的一些功能是:
AVG()
STDDEV()
PERCENT_RANK()
如果没有样本数据和期望的结果(或者您正在尝试计算的内容的非常明确的解释),我就无法汇总查询。