【问题标题】:GBQ window function AND arithmetic operationsGBQ 窗函数 AND 算术运算
【发布时间】:2015-10-10 22:04:14
【问题描述】:

有谁知道是否可以对使用 GBQ 窗口函数得出的结果进行任何算术运算?

例如,我可以使用这样的伪代码将 row_number 增加 100(某个数字)吗:

SELECT 100 + ROW_NUMBER() OVER (PARTITION BY X ORDER BY x_id DESC) increased_row_num
FROM Table1
...

【问题讨论】:

  • vkp 感谢您的快速回复。但是当我执行这个查询时,我得到了错误:分析表达式中缺少函数

标签: sql google-bigquery window-functions


【解决方案1】:

您需要为此使用子查询

SELECT 100 + row_num AS increased_row_num FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY X ORDER BY x_id DESC) AS row_num
FROM Table1
)

【讨论】:

  • 谢谢 Mosha Pasumansky 这绝对是一种解决方案,但我希望有另一种解决方案。
【解决方案2】:

但我希望有另一种解决方案

使用 BigQuery Standard SQL 的预期功能现在可以正常工作

#standardSQL
SELECT 100 + ROW_NUMBER() OVER (PARTITION BY X ORDER BY x_id DESC) increased_row_num
FROM Table1

Enabling Standard SQLMigrating from legacy SQL

【讨论】:

    猜你喜欢
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多