Оператор 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 равно максимальному значению.