计算不同行的总和并保存在单行 BigQuery 中

Posted

技术标签:

【中文标题】计算不同行的总和并保存在单行 BigQuery 中【英文标题】:Count sum of different rows and save in a single row BigQuery 【发布时间】:2020-06-10 01:59:41 【问题描述】:

我正在 BigQuery 中进行数据清理。我设法计算了每个变量。但是有一些具有不同变量的冗余信息,所以我需要合并数字并将总总数保存在一行中。

这是我的作品:

SELECT 
    day, 
    COUNT(*) as Total,
FROM
    table
where day<> 'null'
GROUP BY day
-- HAVING COUNT(*) >= 10?
ORDER BY COUNT(*) DESC;

结果是

我应该添加什么以便将星期一和 Mndy 添加到一行中?谢谢

【问题讨论】:

【参考方案1】:
SELECT 
    CASE WHEN day in ('Monday', 'Mndy') THEN 'Monday' ELSE day END day, 
    COUNT(*) as Total,
FROM
    table
where day<> 'null'
GROUP BY 1
-- HAVING COUNT(*) >= 10?
ORDER BY COUNT(*) DESC;

【讨论】:

我可以为第二个变量添加 CASE WHEN 吗?比如“Sunday”和“Sun”?

以上是关于计算不同行的总和并保存在单行 BigQuery 中的主要内容,如果未能解决你的问题,请参考以下文章

从两个表计算分区并在bigquery中使用小于或等于索引的索引

如何使用 BigQuery 在没有每个元素的情况下获取所有总和值?

Bigquery - 两列内多个值的总和乘积

BigQuery UDF 内存在多行上超出错误,但在单行上工作正常

如何在 BigQuery 的新 SQL 查询中连接/使用已保存的查询

如何将 BigQuery 上的记录从不同行更改为一行?