sql - BigQuery,如何在 where 子句中使用别名?
问题描述
我有这个小查询,BigQuery 无法识别别名 maxdate,我正在尝试返回表,但仅针对最后一个日期
WITH
maxdate AS (
SELECT
MAX(DATE(SETTLEMENTDATE))
FROM
`biengine-252003.aemo2.daily`)
SELECT
*
FROM
`biengine-252003.aemo2.daily`
WHERE
DATE(SETTLEMENTDATE)= maxdate
解决方案
您正试图maxdate
从您的表中获取值maxdate
。将别名添加到您的列并使用它。
WITH
maxdate AS (
SELECT
MAX(DATE(SETTLEMENTDATE)) as mx
FROM
`biengine-252003.aemo2.daily`)
SELECT
*
FROM
`biengine-252003.aemo2.daily`
WHERE
DATE(SETTLEMENTDATE) = (SELECT mx FROM maxdate LIMIT 1)
推荐阅读
- reactjs - 重新选择的缺点
- javascript - 你不懂 JS:异步与性能——协作并发?
- python - Pandas 一次缩放多列并使用 groupby() 进行逆变换
- php - 在会话中保存 OAuth 令牌是否正确?
- python - [py]在嵌套范围内使用 SQLAlchemy 嵌套事务测试 Flask 应用程序
- ubuntu - 在 Google Cloud 上,域/IP 不会加载,但带有端口:8080 的域/IP 会加载
- java - 使用 java.util.Properties 从属性文件中读取重音字符串
- reactjs - 使用 React + CakePHP3 进行 AJAX 登录 - Auth->identify() 返回 false
- java - Spring Cloud Contract 测试是否应该调用外部服务?
- flutter - Flutter Provider 之间的相互依赖关系