SQL查询只返回一个结果

SQL查询只返回一个结果,sql,join,group-by,where,average,Sql,Join,Group By,Where,Average,此SQL查询只返回一个结果,而它应该返回多个结果。我使用SQLJOIN将两个表中的数据合并到一个查询中。我正在尝试选择表s中包含搜索词的行(为什么我使用SQL-LIKE),然后从表r中提取列“avrank”与表s中列“id”匹配的数据(作为舍入平均值)。有什么建议我可以改变,使一个以上的结果将返回 SELECT s.*, ROUND(AVG(r.rank),0) AS avrank FROM stories s

此SQL查询只返回一个结果,而它应该返回多个结果。我使用SQLJOIN将两个表中的数据合并到一个查询中。我正在尝试选择表s中包含搜索词的行(为什么我使用SQL-LIKE),然后从表r中提取列“avrank”与表s中列“id”匹配的数据(作为舍入平均值)。有什么建议我可以改变,使一个以上的结果将返回

          SELECT s.*, 
          ROUND(AVG(r.rank),0) 
          AS avrank
          FROM stories s                  
          LEFT JOIN ratings 
          AS r ON r.storyidr = s.id
          WHERE title 
          LIKE '%$find%'
          LIMIT 50;

你只得到一个结果,因为你在计算平均值。。为了在使用函数(如
AVG()
COUNT()
等)时获得多个结果。。您需要使用
分组依据

您可以尝试以下方法:

          SELECT s.*, 
          ROUND(AVG(r.rank),0) 
          AS avrank
          FROM stories s                  
          LEFT JOIN ratings 
          AS r ON r.storyidr = s.id
          GROUP BY title 
          HAVING title 
          LIKE '%$find%'
          LIMIT 50;

你只得到一个结果,因为你在计算平均值。。为了在使用函数(如
AVG()
COUNT()
等)时获得多个结果。。您需要使用
分组依据

您可以尝试以下方法:

          SELECT s.*, 
          ROUND(AVG(r.rank),0) 
          AS avrank
          FROM stories s                  
          LEFT JOIN ratings 
          AS r ON r.storyidr = s.id
          GROUP BY title 
          HAVING title 
          LIKE '%$find%'
          LIMIT 50;

你只得到一个结果,因为你在计算平均值。。为了在使用函数(如
AVG()
COUNT()
等)时获得多个结果。。您需要使用
分组依据

您可以尝试以下方法:

          SELECT s.*, 
          ROUND(AVG(r.rank),0) 
          AS avrank
          FROM stories s                  
          LEFT JOIN ratings 
          AS r ON r.storyidr = s.id
          GROUP BY title 
          HAVING title 
          LIKE '%$find%'
          LIMIT 50;

你只得到一个结果,因为你在计算平均值。。为了在使用函数(如
AVG()
COUNT()
等)时获得多个结果。。您需要使用
分组依据

您可以尝试以下方法:

          SELECT s.*, 
          ROUND(AVG(r.rank),0) 
          AS avrank
          FROM stories s                  
          LEFT JOIN ratings 
          AS r ON r.storyidr = s.id
          GROUP BY title 
          HAVING title 
          LIKE '%$find%'
          LIMIT 50;