MySQL(或PHP?)组按字段数据结果

时间:2010-09-03 20:44:50

标签: php mysql

  

可能重复:
  MySQL (or PHP?) group results by field data

伙计们,我现在有一个与此类似的数据库(mysql):

ID    meta_key  meta_value   name

1       _group     1          John
2       _group     1          Andrea
3       _group     1          Jack
4       _group     2          Mike
5       _group     2          Kurt
6       _group     3          Alice

我需要像这样对它进行排序/显示:

group       name
-----------------------
  1         John
            Andrea
            Jack
-----------------------
  2         Mike
            Kurt
-----------------------
  3         Alice
-----------------------

之前我遇到过类似的问题,谢谢你的帮助!但现在我对此感到困惑。

我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用PHP执行的显示部分:

$display = "Group\tName";
$old_group = "";
while ($row = mysql_fetch_assoc($result)) {
     if ($row['meta_value'] != $old_group) {
         $old_group = $row['meta_value'];
         $display .= "----------------------------\n" . $row['group'];
     }

     $display .= "\t" . $row['name'] . "\n";
}

echo "<pre>" . $display . "</pre>";

未经测试,但等待任何轻微错误都应按照您的需要显示。

答案 1 :(得分:0)

如果你的意思是要分组你的mysql查询还是稍后使用PHP?然后使用Mysql,这将消除您编写PHP代码以进行分组并再次排序的麻烦。如果你需要在以后添加更多可排序的列,mysql排序将很容易做到这一点,而使用PHP可能需要更多的逻辑