Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果满足条件,则更改SQL平均值和计数_Php_Sql_Count_Average - Fatal编程技术网

Php 如果满足条件,则更改SQL平均值和计数

Php 如果满足条件,则更改SQL平均值和计数,php,sql,count,average,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_pr

我想写一个评论网站。我已经解决了大部分问题,直到我意识到我错过了一件事。根据页面平均数统计被列为禁止的评论

下面是处理审阅计数和获取平均值的当前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_banked的DB行,它是一个简单的0=no或1=yes

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

当review_=1时,将评级替换为0


您想将它们从平均值和计数中排除,还是仅从平均值中排除?@Barmar我只想将它们从平均值中排除,因为用户将看到的是总体平均值%。我的系统不使用任何人的评论数量,而是基于他们的分数。@lawrencerone,这也会将他们排除在统计之外。代码很好用。然而,我确实遇到了一个小问题。由于评论没有被计算在内,平均页面数实际上在增长。我该如何处理被禁止的评论,将其与页面平均数相提并论,并因此将其删除?我不确定我是否理解这个问题。它应该只是非禁止评论的平均值,那么它们是如何使平均值增长的呢?你能用示例数据来演示这个问题吗?我想我明白你的意思了。你从1,2,3,4,5开始,平均值是3。然后你禁止1,所以平均值变成3.5。在这种情况下,您希望新的平均值是多少?因此,当我将review_Banked的0默认值替换为1时,该特定页面的平均值%会上升。技术上被禁止的评论应该有默认评级覆盖到0/10A禁止评级被视为从未提交过。这就好像评级是2,3,4,5,平均值是3.5。但是如果你禁止了给它打分为5的评论者,那么评级将变为1、2、3、4,而评级将下降到2.5。
SELECT AVG(IF(review_banned=1, 0, review_service_rating)) + AVG(IF(review_banned=1, 0, review_price_rating)) AS average_rating, ...