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

BigQuery SQL如何统计周内占比最高的所属月份?

解决BigQuery中按周一起始周计算占比最高月份的问题

需求说明

针对以周一为起始日的周日期范围(例如2023年10月30日至11月5日),需要新增字段返回该周内日期数量最多的月份(示例中10月仅2天,11月有5天,故返回11月)。示例输出表格如下:

周一起始日期月份
2023年10月30日11月
2023年11月06日11月

实现方案

已自行完成需求实现,对应的BigQuery SQL语句如下:

SELECT
  MIN(Week_Beginning) AS wb_date,
  (SELECT EXTRACT(MONTH FROM date) AS most_common_month
   FROM UNNEST(GENERATE_DATE_ARRAY(Week_Beginning, DATE_ADD(Week_Beginning, INTERVAL 6 DAY), INTERVAL 1 DAY)) AS date
   GROUP BY most_common_month
   ORDER BY COUNT(*) DESC
   LIMIT 1) AS dominant_month
FROM
  `table_name`
WHERE Week_Beginning BETWEEN '2023-01-01' AND '2024-12-31'
GROUP BY
  Week_Beginning
ORDER BY Week_Beginning asc

语句逻辑说明

  • 通过GENERATE_DATE_ARRAY生成从周一起始日到该周周日的完整日期序列
  • 将日期数组展开后,按月份分组并统计每个月份的日期数量
  • 按日期数量降序排序,取第一条结果即为该周占比最高的月份
  • 最后按周一起始日分组聚合,输出每个周对应的目标月份

内容的提问来源于stack exchange,提问作者Roxan Mae Mendoza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:42:10