Получение сгруппированных строк. 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);
Комментарии:
Нету комментариев для вывода...