Baurzhan
Baurzhan

Reputation: 207

Yii2 db query builder having into where

Sorry on my English. I add new condition to my query like this:

$query->andWhere(['or',
            ["<", "o.score", $score_operator],
            ["<", "d.score", $score_delivery],
            ["<", "SUM(sd.score)/count(DISTINCT sd.id)",$score_dishes]]);

Buth I got error:

General error: 1111 Invalid use of group function

Then I read that I must use having in 3-d row, but I don't know how to put "having" in "where" condition.

Upvotes: 0

Views: 4887

Answers (1)

ScaisEdge
ScaisEdge

Reputation: 133380

For condition/filter related to aggregation function you should use having and not where

$query->having("SUM(sd.score)/count(DISTINCT sd.id) < " .$score_dishes);

where work on table rows having work on selected result rows. http://www.yiiframework.com/doc-2.0/yii-db-query.html#having()-detail

starting for 2.0.11 you could use also filteHaving in case you having http://www.yiiframework.com/doc-2.0/yii-db-query.html#filterHaving()-detail

Upvotes: 1

Related Questions