Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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-在SUM&;方面遇到麻烦;带联接表的平均查询_Php_Mysql_Sql - Fatal编程技术网

Php SQL-在SUM&;方面遇到麻烦;带联接表的平均查询

Php SQL-在SUM&;方面遇到麻烦;带联接表的平均查询,php,mysql,sql,Php,Mysql,Sql,我有两个表,一个是评级表,另一个是财产清单,我试图基于此字段安全、娱乐、停车、公共交通、社区中心进行汇总和平均,我创建了以下SQL查询: SELECT property_listing.*, coalesce( avg( rating.safety + rating.entertainment + rating.parking + rating.public_transportation + rating.community_centers )/5 , 0 ) AS rate FROM prop

我有两个表,一个是评级表,另一个是
财产清单
,我试图基于此字段
安全、娱乐、停车、公共交通、社区中心
进行汇总和平均,我创建了以下SQL查询:

SELECT property_listing.*, coalesce( avg( rating.safety + rating.entertainment + rating.parking + rating.public_transportation + rating.community_centers )/5 , 0 ) AS rate
FROM property_listing
JOIN rating ON property_listing.property_id = rating.property_id
ORDER BY property_listing.property_id DESC
但是在运行这个SQL之后,我只得到一行。为什么我不能用AVG获得其他记录

我的SQL小提琴:


以下方面应起作用:

SELECT property_listing.property_ID
,      property_listing.title
,      property_listing.user_ID
,      property_listing.Property_Type_ID
,      avg( rating.safety + rating.entertainment + rating.parking + rating.public_transportation + rating.community_centers )/5 AS rate
FROM property_listing
JOIN rating ON property_listing.property_id = rating.property_id
group by property_listing.property_ID
,      property_listing.title
,      property_listing.user_ID
,      property_listing.Property_Type_ID
ORDER BY property_listing.property_id DESC
我不确定为什么您的查询不起作用,但在mysql中,您不必指定组,我也不能说它如何计算这样的查询。最好指定您的组,以便了解实际发生的情况


我删除了合并,但如果您愿意,可以重新添加它。

尝试使用
group by
子句,因为
avg()
是一个聚合函数,您需要按列对结果进行分组:

SELECT property_listing.*,
       COALESCE(Avg(rating.safety + rating.entertainment
                    + rating.parking
                    + rating.public_transportation
                    + rating.community_centers) / 5, 0) AS rate
FROM   property_listing
       JOIN rating
         ON property_listing.property_id = rating.property_id
GROUP  BY property_listing.property_id
ORDER  BY property_listing.property_id DESC 

您的实际数据集是否得到了预期的结果?
SELECT property_listing.*,
       COALESCE(Avg(rating.safety + rating.entertainment
                    + rating.parking
                    + rating.public_transportation
                    + rating.community_centers) / 5, 0) AS rate
FROM   property_listing
       JOIN rating
         ON property_listing.property_id = rating.property_id
GROUP  BY property_listing.property_id
ORDER  BY property_listing.property_id DESC