【发布时间】:2016-07-29 14:19:59
【问题描述】:
我有一张带有 appox 的桌子。 450,000 条记录。对于非 gmail 用户,我必须找到每个用户每天的平均数据使用量。 gmail、facebook、yahoo.etc 等应用程序名称被捕获在“名称”字段中。如果“name”的值为“gmail”,另一个名为“label”的字段将捕获一个值为“D”的值,表示它正在捕获数据使用情况并在其他两个字段(Datausage1、datausage2)中更新它。我不能在同一个 where 子句中包含“名称”和“标签”,因为“标签”中捕获了其他值。因此,我加入了如下表,但查询效率不高,并且运行了很长时间。有没有其他方法可以获得所需的结果?
(选择
t1.network AS 网络,
(((SUM (t2.datausage1) + SUM
(t2.datausage2))/1073741824)/EXACT_COUNT_DISTINCT(t1.user))/33 AS Avg_data_GigaBytes_Per_day_Per_User,
来自
(选择用户,开始时间,
网络
FROM [mytable]
姓名不在('gmail')
)t1
加入
(选择用户,datausage1,datausage2
FROM [mytable]
哪里标签='T'
)t2
开启 t1.user=t2.user
按 1 分组
)
【问题讨论】:
标签: google-bigquery