错误原因:
这个特殊的错误是由于缺少AS
,以下count(formatedTs)
(错误消息中也指出了这一点。
mismatched input 'group' expecting {'*', '+', '-', '/', '%', '<',
'<=', '>', '>=', '==', '!=', AS, OR, AND, IN}
查询编译器认为group
由于缺少 而位于错误的位置AS
)
需要更正:
因此,该select
声明需要更正如下:
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs, count(formatedTs) as tsCount
您可能需要的进一步更正:
另外,是否inputStream
有一个名为的属性formatedTs
?如果不是,则在修复该select
语句后,您将收到另一个错误,如下所示:
找不到属性类型,因为“inputStream”中不存在“formatedTs”
因为您要计算的属性应该存在于inputStream
如果是这种情况,以下查询(应该可以成功编译)可能会对您有所帮助:
from inputStream
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs, count(ts) as countTs
group by ts
insert into outputStream;
更新
更新查询,因为您的要求是按格式化的时间戳分组:
from inputStream
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs
insert into innerStream;
from innerStream
select formatedTs, count(formatedTs) as countTs
group by formatedTs
insert into outStream;