【问题标题】:How to set the row_number while UNNEST in BigQuery?如何在 BigQuery 中设置 UNNEST 时的 row_number?
【发布时间】:2021-07-30 12:19:57
【问题描述】:

示例: 有一列“fruits”,其值为:“apple, orange”。

如何得到两列???

fruit  row_number
apple  1 
orange  2

我试过了 UNNEST(SPLIT(fruits)) 作为水果与 ROW_NUMBER() OVER(按水果分区)。 但有时它会给出结果:

fruit  row_number
apple  2
orange  1

【问题讨论】:

  • 我不明白你的问题。你想做一个支点吗?
  • 我希望将一个值“apple, orange”拆分为两个值“apple”和“orange”。但主要问题是为值设置准确的 row_number。
  • 你的问题是如何让row_number的顺序与数组的原始顺序保持一致?
  • 是的,完全正确。我希望“apple”的 row_number = 1 但不是 2。
  • select fruit, ROW_NUMBER() over(order by fruit) as rownumber from unnest(["apple","banana","orange"]) fruit

标签: google-bigquery row-number unnest


【解决方案1】:

我找到了解决办法:

UNNEST(SPLIT(fruits)) as fruits WITH OFFSET 作为偏移量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多