You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GROUP BY查询中使用PERCENTILE_CONT计算中位数?

问题解决:PERCENTILE_CONT函数语法错误修复

错误原因在于你对PERCENTILE_CONT的语法使用有误:WITHIN GROUP子句需要指定ORDER BY 排序字段来定义中位数的计算逻辑,而不是PARTITION BY。同时,别名不能直接用括号包裹,需要调整格式避免语法冲突。

正确的查询语句如下:

SELECT  
  Id, 
  Currency,
  Count(*) AS Cnt,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY Value) AS Median_Value,
  MAX(Institution) AS Institution 
FROM  TabA
WHERE Institution like '%Fed%' 
GROUP BY Id, Currency
ORDER BY Institution

关键说明:

  • PERCENTILE_CONT(0.5) 用于计算50%分位数(即中位数)
  • WITHIN GROUP (ORDER BY Value) 指定基于Value列的排序规则来计算中位数
  • 由于查询已按Id,Currency分组,函数会自动在每个分组内计算对应Value的中位数
  • 如果你的数据库支持带特殊格式的别名,可以将Median_Value替换为"Median(Value)"(用双引号包裹)

内容的提问来源于stack exchange,提问作者aka baka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 16:42:16