【问题标题】:Number of rows increased when I used UNNEST in BigQuery在 BigQuery 中使用 UNNEST 时行数增加
【发布时间】:2020-10-20 19:08:37
【问题描述】:

我有一个包含 134537 行的订单表,我想从该表中获取数据并插入到测试表中。为此,我编写了一个查询并在其中使用了 unnest 函数,该函数将第 134537 行增加到 234832 行。

我发现一些重复行的用户订单反映在最终结果中。如何处理?

【问题讨论】:

  • 这能回答你的问题吗? Delete duplicate rows from a BigQuery table
  • 你为什么首先使用 UNNEST - 你可以将嵌套和重复的(数组)列从一个表复制到另一个表而无需展平。
  • 如何选择没有嵌套的嵌套数组列?

标签: google-bigquery unnest


【解决方案1】:

取消嵌套数据后有更多行是有意义的。你其实是"flattening" your data

有不同的方法可以删除数据重复。可以在您取消嵌套数据的同时或之后。在第二种情况下,已经有一个 answer from Jordan Tigani 可以帮助您。

SELECT *
FROM ( SELECT *, ROW_NUMBER()
          OVER (PARTITION BY <COLUMN_NAME>)
          row_number FROM <TABLE>)
WHERE row_number = 1

【讨论】:

  • 如果提供的答案帮助您解决了您的问题,请考虑接受它
猜你喜欢
  • 2019-12-27
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多