Оператор SELECT и MAX MySQL
Формулировка задачи:
Добрый вечер уважаемые. Есть в базе столбцы Логин Меил Пароль Имя и Очки. Функцией пытаюсь найти максимально высокие очки и пользователя. Есть код
Функция должна возвращать максимальные очки и логин пользователя. Максимальные очки возвращает, но так же возвращает не "рекордсмена", а логин первого в списке пользователя. Как бы, что посоветуете?
То есть первый раз ищу макс, а во второй-рекордсмена. Но там уже выскакивает ошибка
Notice: Array to string conversion in C:\xampp\htdocs\lesson\bd.php on line 114
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\lesson\bd.php on line 116
public function GetMaxScore(){ $table=mysqli_connect("localhost", "root", "", "lesson"); $query="SELECT login, MAX(point) as point FROM users"; $result=mysqli_query($table, $query); $aresult=mysqli_fetch_array($result); return $aresult; }
Переделал так
$table=mysqli_connect("localhost", "root", "", "lesson"); $query="SELECT MAX(point) as point FROM users"; $result=mysqli_query($table, $query); $aresult=mysqli_fetch_array($result); $query="SELECT login FROM `users` WHERE `point`=$aresult"; $result=mysqli_query($table, $query); $aresult=mysqli_fetch_array($result); echo $aresult; die;
Запрос проверил-правильный. Использую программу Navicat
Варианты?
Решение задачи: «Оператор SELECT и MAX MySQL»
textual
Листинг программы
SELECT login, point FROM users WHERE point = ( SELECT MAX(point) FROM users )
Объяснение кода листинга программы
В этом коде выполняется запрос к базе данных с использованием оператора SELECT. Код выбирает два столбца из таблицы users
: login
и point
. Затем, в части WHERE, код фильтрует строки, используя подзапрос, который выбирает максимальное значение столбца point
из таблицы users
. В итоге, будут выбраны только те строки, у которых значение столбца point
равно максимальному значению.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д