Причина ошибки:
Эта конкретная ошибка возникает из-за отсутствия 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
вы получите еще одну ошибку, как показано ниже:
Не удается найти тип атрибута, поскольку 'formatedTs' не существует в 'inputStream'
потому что атрибут, для которого вы проводите подсчет, должен существовать в 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;
person
Dilini
schedule
18.06.2016
group by time:dateFormat(ts,'yyyy-MM-dd HH:mm')
- person Mike   schedule 18.06.2016