小编Yan*_*ike的帖子

标准 SQL - 如何计算数组中值的频率

我得到下表和下面的查询:

SQL 查询的结果 - 屏幕截图

SELECT 
  fullVisitorId,
  COUNT(fullVisitorId) as id_count,
  ARRAY_AGG(trafficSource.medium) AS trafic_medium
FROM 
  `bigquery-public-data.google_analytics_sample.ga_sessions_20170101`
GROUP BY
  fullVisitorId
ORDER BY
  id_count DESC
Run Code Online (Sandbox Code Playgroud)

对于列中的每个值trafic_medium(例如:cpc、推荐、有机等),我试图计算出每个值在数组中出现的频率,因此最好添加一个新列“计数”来显示该值的出现频率发生了?

+-----------+---------+------+
| array_agg | medium  | count|
+-----------+---------+------+
| 123       | cpc     |   2  |
+-----------+---------+------+
|           | organic |   1  |
+-----------+---------+------+
|           | cpc     |   2  |
+-----------+---------+------+
| 456       | organic |   2  |
+-----------+---------+------+
|           | organic |   2  |
+-----------+---------+------+
|           | cpc     |   1  |
+-----------+---------+------+
Run Code Online (Sandbox Code Playgroud)

我是 SQL 新手,所以我很困惑。

到目前为止我尝试过:

WITH medium AS …
Run Code Online (Sandbox Code Playgroud)

sql arrays count google-bigquery

1
推荐指数
1
解决办法
3616
查看次数

标签 统计

arrays ×1

count ×1

google-bigquery ×1

sql ×1