MySQL选择分组依据和排序依据

时间:2011-08-31 10:34:07

标签: php mysql select group-by sql-order-by

这是我正在使用的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的所有条目,并按输入数据库的时间排序。 e.g。

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

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

目前的问题是我只为每个姓氏得到一个结果。 如何使用带有GROUP BY和ORDER BY的SELECT语句来获取所有条目?谢谢。

2 个答案:

答案 0 :(得分:2)

将您的GROUP BY更改为:

GROUP BY surname, forename

答案 1 :(得分:2)

您不需要按姓氏分组,您需要按姓氏

排序
ORDER BY surname,time