sql - BigQuery SQL 错误:在 [9:15] 内未找到最新的名称排名
问题描述
我正在使用从文档中粘贴的查询来删除 BigQuery 数据集的重复数据。当我使用查询时,我收到一个错误:
最晚在 [9:15] 内未找到姓名排名
我就是不明白为什么。注意:我是 SQL 新手。有问题的查询如下:
SELECT *
FROM (
SELECT *,
RANK () OVER (PARTITION BY gregoriandate
ORDER BY _sdc_report_datetime DESC)
FROM hf_bing.campaign_performance_report
ORDER BY gregoriandate ASC
) AS latest
where latest.rank = 1
解决方案
也许这已经为您解决了:
SELECT
*
FROM (
SELECT
*,
RANK () OVER (PARTITION BY gregoriandate ORDER BY _sdc_report_datetime DESC) AS rank_
FROM hf_bing.campaign_performance_report
)
WHERE rank_ = 1
当您使用WHERE latest.rank = 1
时,实际上没有命名rank
的字段latest
会导致您收到错误。我基本上使用了该字段的别名,所以现在 BigQuery 可以准确地知道引用了哪个字段。
推荐阅读
- azure - 设备未报告 IoT Edge 自定义模块
- sharepoint - 如何使用 Jquery 查找当前 sharepoint web 是否从父 web 继承权限
- docker - 多个 docker 过滤器选项是否执行本地 AND 或 OR 操作?
- c# - 为什么要避免直接实例化 CollectionView?
- python - 电子邮件说内容是无,知道为什么吗?
- php - PHP 继承适用于一个实例而不是另一个实例
- asp.net-core-webapi - 使用补丁请求 .Net Core 2.1 动态更改 Appsettings.Json
- c++ - 当值是非常量但使用常量表达式初始化时使用 constexpr?
- javascript - Firefox 需要对同一主机上的 Jquery-Get 进行授权
- javascript - 如何检查鼠标是否在 d3 geo 的实际地图范围内?