我是sql新手,正在尝试计算一个类似表的平均值、中位数和tp90,如下所示-
姓名年月id合计
x1 2019 1 a1 46号
x1 2019 1 a2 21
x1 2019 1 a3 7
x1 2019 1 a4 25
x1 2019 1 a5 24
x2 2019 1 b1 33
x2 2019 1 b2 9
x2 2019 1 b3 8号
x2 2019 1 b4 20
x2 2019 1 b5 15型
我在寻找这样的输出-
(姓名、年份、月份、平均值、中位数、tp90)=(x1、2019、1、25、24、37.6)
我可以用excel来实现这一点,但很难用sql代码将其推广到整个数据集。
1条答案
按热度按时间t3psigkw1#
我认为您可以使用聚合:
这里的关键功能是
percentile_cont()
. 在许多数据库中,这只是一个窗口函数,它是红移中的聚合函数。