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

BigQuery按格式化日期排序时未考虑月份仅按日排序问题

问题原因

你排序时使用的dates字段是格式化后的字符串,并非日期类型。%d-%m-%Y格式的字符串会按照字典序排序:优先比对字符串首位的日数值,因此日数值更大的8月数据会排在9月数据之前,不符合按实际日期倒序的需求。

修正方案

你可以选择以下任意一种方式修正,两种方案均保留原有的DD-MM-YYYY格式输出:

方案1:直接调整排序字段

SELECT 
  FORMAT_DATE('%d-%m-%Y', PARSE_DATE('%Y%m%d', event_date)) AS dates,
  COUNT(DISTINCT user_pseudo_id) AS Unistalls
FROM `applied-buckeye-626.analytics_153768669.events_*` 
WHERE event_name='app_remove'
AND _TABLE_SUFFIX > '20210828'
GROUP BY dates, PARSE_DATE('%Y%m%d', event_date)
ORDER BY PARSE_DATE('%Y%m%d', event_date) DESC
LIMIT 1000

方案2:先聚合后格式化(性能更优)

先按日期类型完成分组、排序,最后再做日期格式化,避免重复解析日期:

SELECT 
  FORMAT_DATE('%d-%m-%Y', event_dt) AS dates,
  Unistalls
FROM (
  SELECT 
    PARSE_DATE('%Y%m%d', event_date) AS event_dt,
    COUNT(DISTINCT user_pseudo_id) AS Unistalls
  FROM `applied-buckeye-626.analytics_153768669.events_*` 
  WHERE event_name='app_remove'
  AND _TABLE_SUFFIX > '20210828'
  GROUP BY event_dt
) t
ORDER BY event_dt DESC
LIMIT 1000

可选修正:你代码中统计字段命名Unistalls为拼写错误,标准拼写为Uninstalls,可按需调整。

内容的提问来源于stack exchange,提问作者Rupesh Biswas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:24:03