按维度聚合 + 取最新一条
按维度聚合 + 取最新一条
-- 按渠道每日汇总
SELECT dt, channel, SUM(amount) AS amount
FROM dwd_order
WHERE dt BETWEEN '2026-10-01' AND '2026-10-11'
GROUP BY dt, channel;
-- 每个用户最近一笔订单
SELECT * FROM (
SELECT o.*, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY ts DESC) AS rn
FROM dwd_order o
) t WHERE rn = 1;维表补全(先去重再关联)
维表补全(先去重再关联)
SELECT o.order_id, c.channel_name
FROM dwd_order o
LEFT JOIN (
SELECT channel_code, MAX(channel_name) AS channel_name
FROM dim_channel GROUP BY channel_code
) c ON o.channel_code = c.channel_code;join 前不去重维表会放大行数,导致金额重复累计,是汇总对不上的高频原因。