Рецепт №126. Из книги «128 рецептов php»
Перейти к оглавлению
Иногда необходимо получить какие-то данные для сгруппированных строк, например, узнать максимальный возраст для всех Ивановых, Петровых и тд. То есть необходимо сгруппировать всех пользователей по фамилии и получить для них максимальный возраст. Для этих целей можно воспользоваться SQL-запросом с оператором GROUP BY. Запрос будет выглядеть так:
SELECT `last_name`, max(`age`) as max_age FROM `tbl_users` GROUP BY `last_name`
Результатом выполнения такого запроса будет массив строк, которые будет содержать по два значения – фамилию и максимальный возраст для группы этих фамилий.
Пример:
// предварительно, необходимо реализовать // подключение к базе данных // запрос // при ошибке остановим скрипт и выведем ошибку $query = mysql_query(" SELECT last_name, max(`age`) as max_age FROM `tbl_users` GROUP BY last_name ") or die(mysql_error()); // получение результата запроса $result = array(); while($row = mysql_fetch_array($query, MYSQL_ASSOC)){ $result[] = $row; } // вывод результата print_r ($result);