【发布时间】:2016-12-07 18:02:14
【问题描述】:
我试图在我的rating 表中获得rate 列的平均评分。在查找了很多方法来做到这一点之后,似乎没有什么对我有用。但是,如果我不尝试取平均值,它确实有效。
这是我的代码(尝试 1):
$sql = "SELECT * FROM users
INNER JOIN mentor ON users.id = mentor.id
INNER JOIN (SELECT AVG(rating.rate) AS average
FROM rating GROUP BY rating.owner)
ON mentor.id = rating.owner ORDER BY RAND()";
这是我的代码(尝试 2):
$sql = "SELECT users.id, users.username,
mentor.industry, mentor.city,
AVG(rating.rate) AS average FROM users
INNER JOIN mentor ON users.id = mentor.id
INNER JOIN rating ON mentor.id = rating.owner
ORDER BY RAND()";
SELECT 语句后面的代码是这样的:
$res = mysqli_query($db,$sql) or die(mysqli_error());
if (mysqli_num_rows($res)>0) {
while ($row=mysqli_fetch_assoc($res)){
$variable= $row['column'];
// more variable naming
}
}
每当我重新加载我的页面时,它都是完全白色的。控制台日志显示“加载资源失败:服务器响应状态为 404(未找到)”。不太确定下一步该做什么。感谢您的任何意见,建议!
owner列是=mentor.id = users.id
【问题讨论】:
-
404消息与SQL无关。你怎么称呼这个查询?
-
@EatPeanutButter select语句后面的代码是这样的:
$res = mysqli_query($db,$sql) or die(mysqli_error()); if (mysqli_num_rows($res)>0) { while ($row=mysqli_fetch_assoc($res)){ $variable = $row['column'];
标签: mysql inner-join average