Bigquery-如何抽象重复的逻辑

问题描述 投票:0回答:1

我发现自己处于这样的情况,一遍又一遍地重复同样的逻辑

SELECT
  city,
  CAST(SUM(IF(date > DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY), value, 0)) AS INT64) AS value_7,
  CAST(SUM(IF(date > DATE_SUB(CURRENT_DATE(), INTERVAL 14 DAY), value, 0)) AS INT64) AS value_14
FROM
  table
GROUP BY
  city

现在value旁边,我还有10列要应用相同逻辑的列。有没有一种简单的方法可以将格式和条件抽象化?

例如my_func(val_col, date_col, days)

我知道我可以手动完成,但是看起来很丑。

google-bigquery
1个回答
0
投票

您可以创建temporary functions并在SQL查询中调用它们,几乎是您提到的my_func(col, days)

© www.soinside.com 2019 - 2024. All rights reserved.