php - 获取另一个表中特定行的一个表的平均值 php

标签 php mysql

我正在尝试执行以下操作。

从名为“医院”的表中选择 id = hid 的医院。 向其中添加值“overall_ rating”并获取所有评级,并从另一个名为 h rating 的表中获取其平均值

这是我的查询

 $statement = $conn->prepare('SELECT hospital.*,(SELECT AVG(hrating.rating_h) FROM hrating WHERE hid = hospital.hid) as overall_rating WHERE hid=:hid LIMIT 1');

收到此错误

{"error":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE hid='44' LIMIT 1' at line 1"}

我哪里错了。

最佳答案

您的查询中似乎没有“FROM Hospital”位?

SELECT hospital.*,(SELECT AVG(hrating.rating_h) 
                   FROM hrating 
                   WHERE hid = hospital.hid) as overall_rating 
FROM hospital -- this line seems to be missing ??
WHERE hid=:hid LIMIT 1

关于php - 获取另一个表中特定行的一个表的平均值 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642878/

相关文章:

mysql - 选择 * 从表中 1 = 2

php - PHP 中的 ORM 和 DAO

PHP isset() 在这种情况下是多余的吗?

mysql - 如果可能的输出为零,则不要更新

寻找志同道合者的PHP算法

mysql - 如何使用mysql命令行在表中显示图像

mysql - SQL - 报告中的多个分组

php - mod_rewrite 后样式表未加载

php - 创建可变参数列表

php - 如何防止表单变量名泄露数据库结构?