Получение сгруппированных строк. GROUP BY

Иногда необходимо получить какие-то данные для сгруппированных строк, например, узнать максимальный возраст для всех Ивановых, Петровых и тд. То есть необходимо сгруппировать всех пользователей по фамилии и получить для них максимальный возраст. Для этих целей можно воспользоваться 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);

Теги:
GROUP BY
Добавлено: 28 Марта 2018 11:48:17 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...