Я пытаюсь получить средний рейтинг для столбца rate
в моей таблице rating
. Посмотрев на многие способы сделать это, мне кажется, что ничего не работает. Однако он работает, если я не пытаюсь принять среднее значение.Попытка получить среднее значение столбца с тремя внутренними таблицами объединения MySQL
Вот мой код (Покушение 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. как вы вызываете этот запрос? – WillardSolutions
@EatPeanutButter Код после оператора select: $ res = mysqli_query ($ db, $ sql) или die (mysqli_error()); \t \t \t \t если (mysqli_num_rows ($ Res) ^> 0) { \t в то время ($ строка = mysqli_fetch_assoc ($ Res)) { \t \t $ переменная = $ строки [ 'столбца'], ' – Millica