如何将字段名称分配给 AWS Athena SQL 中的 SQL 计数

How to assign a field name to an SQL Count in AWS Athena SQL

我对 Athena 还是个新手。我想我的数据库定义正确,如下例 1 所示。但是,当我 运行 进行计数查询时,得到的结果与我预期的不同。

示例 1:工作正常,但计数称为“_col3”

SELECT ticker, timestampmonth, timestampday, count(*) FROM "relatixcurrdayjson"."currday"
where ticker = 'TQQQ'
group by ticker, timestampmonth, timestampday
order by ticker, timestampmonth, timestampday  

结果:

例2:语法错误

SELECT ticker, timestampmonth, timestampday, count(*) as 'countperday' FROM "relatixcurrdayjson"."currday"
where ticker = 'TQQQ'
group by ticker, timestampmonth, timestampday
order by ticker, timestampmonth, timestampday 

当我单击“运行 查询”时,此查询显示语法错误:

不要对标识符使用单引号。它们仅适用于文字字符串。如果需要引用标识符,请使用双引号;但在这里,你甚至不需要引用它,因为它不包含特殊字符。

所以:

select ticker, timestampmonth, timestampday, count(*) as countperday 
from "relatixcurrdayjson"."currday"
where ticker = 'TQQQ'
group by ticker, timestampmonth, timestampday
order by ticker, timestampmonth, timestampday 

Redshift 默认将标识符折叠为小写。这意味着您甚至不需要在 from 子句中引用模式和 table 名称(因为它们都是小写)。