我的问题是我不能像在查询中那样一起使用这两个聚合函数: AVG(MIN(, 首先我需要从该实体 termResultCurrent 获取最小值,然后是所有最小值的平均值。可能必须更改它group by 并包含一些其他子句来获取最小值(我不知道这是否可能)。否则,它可能正在使用子查询,但我对 group by 有问题......我知道这很有挑战性但我很感激你的帮助。
SELECT AVG(MIN(termResultCurrent.position)), count(*)
FROM TermSubscription subscription,
Competitor competitor,
TermQuery termQueryPrev, IN(termQueryPrev.results) termResultPrev,
TermQuery termQueryCurrent,IN(termQueryCurrent.results) termResultCurrent
WHERE subscription.account.id= 274
and competitor.id = 379
AND termQueryPrev.term=subscription.term
AND termQueryCurrent.term=subscription.term
AND termQueryCurrent.provider.id= 1
AND termQueryCurrent.provider.id=termQueryPrev.provider.id
AND termQueryPrev.queryDate.yearWeek = YEARWEEK(FROM_DAYS(TO_DAYS('2013-01-01') - 7), 1)
AND termQueryCurrent.queryDate.yearWeek = YEARWEEK('2013-01-01',1)
AND termResultPrev.url.hostname MEMBER competitor.domains
AND termResultCurrent.url.hostname MEMBER competitor.domains
group by subscription.term.id