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

如何在BigQuery中基于关联键统计不同外出频次用户的分类差异?

BigQuery用户外出频次与目的地分类分析

一、不同外出频次分组的Top10目的地分类统计

数据基础

现有两张关联表:

  • 表1:id唯一,记录每个用户的外出频次(times_of_going_out)
  • 表2:id可重复,记录用户对应的目的地分类(category_name)及所在城市

查询语句

以下SQL用于关联两张表,分别统计两类用户的Top10目的地分类:

WITH user_category_link AS (
    SELECT 
        t1.id,
        t1.times_of_going_out,
        t2.category_name
    FROM `your-project.your-dataset.table1` t1
    INNER JOIN `your-project.your-dataset.table2` t2 
        ON t1.id = t2.id
)
-- 外出频次<5次用户的Top10分类
SELECT 
    '<5次' AS user_segment,
    category_name,
    COUNT(DISTINCT id) AS user_num,
    RANK() OVER(ORDER BY COUNT(DISTINCT id) DESC) AS rank
FROM user_category_link
WHERE times_of_going_out < 5
GROUP BY category_name
ORDER BY user_num DESC
LIMIT 10

UNION ALL

-- 外出频次>5次用户的Top10分类
SELECT 
    '>5次' AS user_segment,
    category_name,
    COUNT(DISTINCT id) AS user_num,
    RANK() OVER(ORDER BY COUNT(DISTINCT id) DESC) AS rank
FROM user_category_link
WHERE times_of_going_out > 5
GROUP BY category_name
ORDER BY user_num DESC
LIMIT 10;

基于样本数据的结果

  • <5次用户组:所有样本用户都属于该组,Top分类为:
    • Recreation Centers(2位用户)
    • Games & Game Supplies(1位用户)
    • Telephone Companies(1位用户)
  • >5次用户组:样本数据中无符合条件的用户,无统计结果。

二、特定频次用户的常去分类

1. 外出2次的用户

查询语句:

SELECT 
    category_name,
    COUNT(DISTINCT t1.id) AS user_num
FROM `your-project.your-dataset.table1` t1
JOIN `your-project.your-dataset.table2` t2 
    ON t1.id = t2.id
WHERE times_of_going_out = 2
GROUP BY category_name;

结果:仅用户fef666外出2次,常去分类为 Recreation Centers。

2. 外出6次的用户

样本数据中不存在外出频次为6次的用户,因此无对应常去分类结果。


内容的提问来源于stack exchange,提问作者アルサ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:20:34