要在BigQuery中按条件分组,可以使用CASE WHEN语句,并将其与GROUP BY子句结合使用。下面是一个包含代码示例的解决方法:
假设我们有一个名为transactions的表,其中包含以下字段:transaction_id、amount和category。我们想按照交易金额的范围将交易分组,以便计算每个组的总金额。
SELECT
CASE
WHEN amount <= 100 THEN 'Group 1'
WHEN amount <= 500 THEN 'Group 2'
ELSE 'Group 3'
END AS amount_group,
SUM(amount) AS total_amount
FROM
transactions
GROUP BY
amount_group
在上面的代码中,我们使用CASE WHEN语句将交易金额分成三个组:小于等于100的交易分为Group 1,小于等于500的交易分为Group 2,其他交易分为Group 3。然后,我们使用GROUP BY子句将交易按照amount_group字段进行分组,并使用SUM函数计算每个组的总金额。
你可以根据你的实际需求修改上面的代码,将条件和分组字段替换为你需要的值。
上一篇:按条件分组并修剪一些行
下一篇:按条件分组的金额总和优化查询