Vladsvn
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Имеется вот такой запрос: $query = mysqli_query($db, "SELECT MIN(`time`) AS `min` FROM `notice` WHERE `user_id` = '$user_id' ORDER BY `time` DESC LIMIT 5"); $row = mysqli_fetch_assoc($query); $time_min = $row['min']; Здесь я хотел для пользователя user_id отсортировать выборку по time по убыванию и из первых пяти строк найти минимальное значение time. Но запрос игнорирует LIMIT 5 и выдает минимальное значение из всех записей для этого user_id. Ради любопытства я заменил DESC на ASC, а результат тот же. Что-то неверно в этом запросе или база данных так работает? (Диагностических сообщений нет) * * * Попытался сделать запрос не по таблице, а по подзапросу. Вот так: $query = mysqli_query($db, "SELECT MIN(`time`) FROM (`notice` WHERE `user_id` = '$user_id' ORDER BY `time` DESC LIMIT 5) AS `min`"); $row = mysqli_fetch_assoc($query); $time_min = $row['min']; Выводит ошибку: PHP Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in … Сообщение относится к строке $row = mysqli_fetch_assoc($query); * * * В PHPMyAdmin попробовал вот такой запрос, подставив в него вместо переменных их численное значение: SELECT MIN(`time`) AS `min` FROM `notice` (SELECT `time` FROM `notice` WHERE `user_id` = 72 ORDER BY `time` DESC LIMIT 5) Пишет Ошибка в запросе. Может быть, это находится за пределами возможности mysql ? | Всего записей: 286 | Зарегистр. 07-09-2016 | Отправлено: 17:43 20-03-2023 | Исправлено: Vladsvn, 22:07 20-03-2023 |
|