MySQL Выберите Группировать по и Упорядочить по - PullRequest
0 голосов
/ 31 августа 2011

Вот SQL-оператор, который я использую ..

$sql = "SELECT surname, forename, count(*) FROM people WHERE user_id='$user_id'
        GROUP BY surname ORDER BY time";

$result = mysql_query($sql);
$count=mysql_num_rows($result);

if($count > 0){
while($row = mysql_fetch_array($result)) {
$i = $i +1;
$person[$i] = $row['surname'].'&&'.$row['forename'];
} 

Я хотел бы получить все записи из базы данных людей относительно user_id, сгруппированные по фамилии и упорядоченные по временибыли введены в базу данных.например,

12:00  Smith  James
13:00  Smith  Linda
14:00  Smith  Sam

12:30  OtherSurname  Lydia
13:30  OtherSurname  Harry
14:30  OtherSurname  Phil

Проблема на данный момент в том, что я получаю только один результат для каждой фамилии.Как я могу использовать оператор SELECT с GROUP BY и ORDER BY, чтобы получить все записи?спасибо.

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Вам не нужно группировать по фамилии, вам нужно заказать по фамилии

ORDER BY surname,time
2 голосов
/ 31 августа 2011

Измените вашу GROUP BY на:

GROUP BY surname, forename
...