如何解决SQL / BQ-使用合并功能从表更新应用名称
我处理移动应用程序数据,并且有一个表,其中包含需要清除/替换的应用程序名称。例如,“ App V2”需要更改为“ App”。有人告诉我“从表中选择app和app_name除外的所有数据(请参见下文),然后使用正确的应用程序名称重写应用程序名称,然后使用MERGE函数覆盖该表。”我的表是session_data。
我的专栏是:
> systemctl stop myservice
Failed to stop myservice.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status myservice.service' for details.
- 样本数据:
- 日期:2020-08-01
- 国家/地区:美国
- app_id:1234
- app_name:应用v2
- app =应用v2
- daily_active_users = 5
我不知道从哪里开始,我正在转向Stack Overflow社区。预先谢谢你!
解决方法
更新BigQuery表可能是一件昂贵的事情。如果您知道所有值都是更新值,则可以通过在选择列时使用case语句来完成此操作,然后覆盖同一表(模拟更新类)
第1步
select date,country,app_id,case when app_name = 'App V2' then 'App'
when app_name = 'App V3' then 'App3'
.
.
.
end as app_name,app,SUM(daily_active_users) AS daily_active_users
from session_data
第2步
现在,将此输出定向到临时表中,然后使用阶段表中的所有数据覆盖session_data
您在这里模拟更新语句
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。