如果满足条件,则更改SQL AVG和COUNT

时间:2018-04-04 23:10:23

标签: php sql count average

我正在尝试撰写评论网站。我已经解决了大部分事情,直到我意识到我错过了一件事。根据页面平均值列出禁止列出的评论。

以下是处理审核计数和获取平均值的当前SQL。

$qa = $db->prepare("SELECT ( AVG(review_service_rating) + AVG(review_price_rating) ) AS average_rating, COUNT(review_service_rating) AS num_service_rating, COUNT(review_price_rating) AS num_price_rating FROM reviews WHERE assigned_id = :review_id ORDER BY review_posted DESC");
$qa->execute(array(':review_id' => $_GET['page_id']));
$ra = $qa->fetch(PDO::FETCH_ASSOC);

现在。我添加了一个名为 review_banned 的数据库行,它是simple 0 = no or 1 = yes

如何将其添加到现有的SQL查询中,以防止它计算列为禁止的评论。

enter image description here

1 个答案:

答案 0 :(得分:1)

0时将评分替换为review_banned = 1

SELECT AVG(IF(review_banned=1, 0, review_service_rating)) + AVG(IF(review_banned=1, 0, review_price_rating)) AS average_rating, ...