小编jon*_*inx的帖子

在 T-SQL 中计算值的中位数

我有一段用 T-SQL 编写的代码(存储过程),它将临时表中的多个数据插入表中,如下所示:

INSERT INTO [myschema].[CalculatedData](
    Year, 
    Month,
    Line,
    Car,
    Service,
    Route,
    Trip,
    Stop,
    Qty,
    CalculatedMean
  ) SELECT
    Year,
    Month,
    Line,
    Car,
    Service,
    Route,
    Trip,
    Stop,
    COUNT(*),
    AVG(Duration),  
  FROM
    @TableToCalculate
  GROUP BY
    Year,
    Month,
    Line,
    Car,
    Service,
    Route,
    Trip,
    Stop;
Run Code Online (Sandbox Code Playgroud)

如您所见,我计算了所有值的平均值。很简单,考虑到内置功能

现在,我想做的是计算中位数。没有任何函数可以计算它,但由于中位数等于计算第 50 个百分位数,因此可以使用它。但我不知道该怎么做。

有什么帮助吗?

sql-server t-sql sql-server-2016

3
推荐指数
1
解决办法
965
查看次数

标签 统计

sql-server ×1

sql-server-2016 ×1

t-sql ×1