gpt4 book ai didi

google-bigquery - 具有多个 _TABLE_SUFFIX 条件的嵌套查询出现意外结果

转载 作者:行者123 更新时间:2023-12-03 06:42:24 24 4
gpt4 key购买 nike

考虑以下查询(标准语法):

WITH
v AS (
SELECT
_TABLE_SUFFIX AS y,
*
FROM
`bigquery-public-data.noaa_gsod.gsod*`
WHERE
_TABLE_SUFFIX > '2000' )
SELECT
y,
COUNT(1) c
FROM
v
WHERE
y IN ('2016',
'2017')
GROUP BY
y

我期望它返回两行:

2016 4292866     
2017 3683760

但是,仅返回第一个。我觉得很奇怪。这有什么原因吗?

如果从子查询中删除 WHERE _TABLE_SUFFIX > '2000',则两行都会按预期返回。此外,如果您从底部列表中删除 2016,则将正确返回 2017 的单行。

这是预期的行为吗?

最佳答案

可以通过将 _table_suffix 转换为整数来解决这个问题
信用归Przemek Iwańczak .

WITH
v AS (
SELECT
_TABLE_SUFFIX AS y,
*
FROM
`bigquery-public-data.noaa_gsod.gsod*`
WHERE CAST(_TABLE_SUFFIX as INT64) > 2000
)
SELECT
y,
COUNT(1) c
FROM
v
WHERE
y IN ('2016',
'2017')
GROUP BY
y

关于google-bigquery - 具有多个 _TABLE_SUFFIX 条件的嵌套查询出现意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47231947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com