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

BigQuery中如何按分组计算分位数取各分组第4分位最小值

解决方案

核心修改点为给NTILE窗口函数的OVER子句增加PARTITION BY Fruit参数,即可实现按每种水果单独计算分位数,同时修正了你原代码中CTE后多余的逗号语法问题,修改后完整SQL如下:

WITH quantiles AS (
SELECT
 NTILE(4) OVER(PARTITION BY Fruit ORDER BY Size) as quantile,
 Fruit, 
 Size
FROM
 DUMMY_TABLE
)
SELECT
 MIN(Size) AS q4_min_size,
 Fruit
FROM
 quantiles
WHERE
 quantile = 4
GROUP BY
 Fruit

逻辑说明

  • PARTITION BY Fruit会将表中数据按水果类型拆分独立分区,每个分区内的记录单独按Size排序、单独拆分为4个分位,不同水果的分位计算互不干扰
  • 后续筛选第4分位记录、按水果分组取最小Size的逻辑和原有需求一致,即可得到每种水果第4分位的最小尺寸

对应你提供的示例数据表,运行结果为:

Fruitq4_min_size
Apple15
Pear13

内容的提问来源于stack exchange,提问作者Rasmus Lehmann

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:15:03