mysql 查询出来一组数据 
比如 :
id  | name  |  age | sex   |   addtime
1   | aaa   |   1  |   10  |   2011-09-20
1   | aaa   |   1  |   10  |   2011-09-21
1   | bbb   |   1  |   18  |   2011-08-22
1   | ccc   |   2  |   10  |   2011-09-10我现在要让 相同的aaa 重复的 内容合并,然后 addtime
中 有几个时间值 我就遍历出一个时间,接在后面,以此类推,没有的填NULL。打印出来 我想 是
id  | name  |  age  |  sex   |   addtime1     |   addtime2 
1   | aaa   |   1   |   10   |   2011-09-20   |   2011-9-21
2   | bbb   |   1   |   18   |   2011-08-22   |   null
3   | ccc   |   2   |   10   |   2011-09-10   |   null

解决方案 »

  1.   

    select group_concat(addtime) as addtime from table group by name
    然后php处理下。
      

  2.   


    //郁闷得蛋痛,花点时间写了。。$arr = array(
        array('name'=>'aaa', 't1'=>'20110916'),
        array('name'=>'aaa', 't1'=>'20110911'),
        array('name'=>'bbb', 't1'=>'20110116'),
        array('name'=>'ccc', 't1'=>'20110512'),
    );$rs = array();
    foreach($arr as $row) {
        if(isset($rs[$row['name']])) {
            $rs[$row['name']] = array_merge($rs[$row['name']], array('t2'=>$row['t1']));
        }
        else {
            $rs[$row['name']] = array_merge($row, array('t2'=>null));
        }
    }echo '<pre>';
    var_dump($rs);//输出结果:
    array
      'aaa' => 
        array
          'name' => string 'aaa' (length=3)
          't1' => string '20110916' (length=8)
          't2' => string '20110911' (length=8)
      'bbb' => 
        array
          'name' => string 'bbb' (length=3)
          't1' => string '20110116' (length=8)
          't2' => null
      'ccc' => 
        array
          'name' => string 'ccc' (length=3)
          't1' => string '20110512' (length=8)
          't2' => null