Mysql查询,获取avg结果

| 所以我得到了这个查询,是否可以从avgscore获取mysql结果?
SELECT * FROM dog_clinic
LEFT JOIN (SELECT AVG(score) AS avgscore, input_id
FROM dog_clinic_score GROUP BY input_id) s ON s.input_id = dog_clinic.id
ORDER BY avgscore DESC, visited DESC LIMIT 0,10
提前致谢 整个声明:
if ($stmt_dog_clinic = $mysqli->prepare(\"SELECT dog_clinic.id, dog_clinic.name, dog_clinic.content, dog_clinic.city, dog_clinic.street, dog_clinic.picture, dog_clinic.visited, s.avgscore FROM dog_clinic LEFT JOIN (SELECT AVG(score) AS avgscore, input_id FROM dog_clinic_score GROUP BY input_id) s ON s.input_id = dog_clinic.id ORDER BY s.avgscore DESC, dog_clinic.visited DESC LIMIT 0,10\"))
 {
  $stmt_dog_clinic->bind_result($id, $name, $content, $city, $street, $picture, $visited, $avgscore);
  $stmt_dog_clinic->execute();
while ($stmt_dog_clinic->fetch())
{ echo $avgscore; }
$ avgscore dsn不产生任何数据。     
已邀请:
        好的,让我们再进一步...通过左连接,这意味着并非所有的狗诊所都具有“得分”等级...如果是这样,则该值为NULL并可能导致其窒息。
SELECT
      dc.*, 
      COALESCE( s.avgscore, 0 ) FinalAvg
   FROM 
      dog_clinic dc
         LEFT JOIN ( SELECT dcs.input_id,
                            AVG(dcs.score) AS avgscore
                        FROM 
                           dog_clinic_score dcs
                        GROUP BY 
                           dcs.input_id) s 
            ON dc.id = s.input_id
   ORDER BY 
      COALESCE( s.avgscore, 0 ) DESC,
      dc.visited DESC 
   LIMIT 
      0,10;
    
        您的意思是:
SELECT dog_clinic.*, s.avgscore FROM dog_clinic
LEFT JOIN (SELECT AVG(score) AS avgscore, input_id
FROM dog_clinic_score GROUP BY input_id) s ON s.input_id = dog_clinic.id
ORDER BY s.avgscore DESC, dog_clinic.visited DESC LIMIT 0,10;
我认为Rahul是正确的,它隐含为
s.avgscore DESC, dog_clinic.visited DESC
,我也将其集成到查询中。     

要回复问题请先登录注册