Я нашел много подобных вопросов к этому, и в основном мне нужно поставить группу по всем столбцам, которые не агрегируются функцией. И все же это не работает.Не группа по заявлению
select UC.executionTime as executionTime,
UC.aggregationTime as aggregationTime,
UC.totalTime as totalTime,
case when UC.numberExecutions <= UD.NUMBEREXECUTIONS then UC.numberExecutions
else UD.NUMBEREXECUTIONS
end as numberExecutions,
(avg(UD.AVERAGETIME)*(count(UD.AVERAGETIME))+avg(UC.executionTime))/((count(UD.AVERAGETIME))+1.0) as averageTime,
UC.layer as layer,
UC.domain as domain,
UC.name as name,
UC.componentType as componentType,
UC.operation as operation,
UC.version as version,
"UseRateDay" as indicator
from UCtable as UC, USE_RATE_DAY as UD
where UC.name=UD.NAME and UC.layer=UD.LAYER
and UC.domain=UD.DOMAIN and UC.componentType=UD.COMPONENTTYPE
and UC.operation=UD.OPERATION AND UC.version=UD.VERSION and UC.indicator="UseRateDay" and (floor(UC.executionTime/(24*60*60*1000))*(24*60*60*1000) <= UD.EXECUTIONTIME and (ceil(UC.executionTime/(24*60*60*1000)) * (24*60*60*1000))*2 > UD.EXECUTIONTIME)
group by executionTime, aggregationTime,totalTime, numberExecutions,layer, domain, componentType, name, operation, version
Где я скучаю?
колонка 'индикатор' в' GROUP BY'? – Mchl
, похоже, не очень расплывчато! Что конкретно не работает синтаксис? Ожидаемые результаты агрегирования? Было бы неплохо включить некоторые выборочные данные, а также пример ожидаемого результата на основе этих данных. – Matt
С индикатором или без него в нем указано не группа по выражению, и в нем отсутствуют инструкции из списка в группе. – Elsendion