表1--------------------------------------------------------
| id  |  leiName  |  Nid  |  NName  |  Tid  |  Title  |
|  2  |  类名1    |  4   |   手机  |  99   |  ddddd |
|  3  |  类名2    |  5   |    手机1  |  98   |  dererd |
|  6  |  类名3    |  3   |    手机  |  97   |  dbbvd |
|  3  |  类名6    |  8   |    手机3  |  96   |  31231dd |
求,根据 Tid的从大到小排列,排3个结果,如 NName 相同的忽略 手机
手机1
手机//相同的忽略
手机3mysql语句怎么写的。。

解决方案 »

  1.   

    select * from
    (select * from 表1 order by Tid desc) tt
    group by NNname;
      

  2.   

     最后的结果集排序,乱了。没按 Tid 排序。
      

  3.   

    你的sql是如何写的。建议你贴出
    create  table....; 
    insert into table....; 语句及期望结果,并给以简单的算法描述。
      

  4.   


    --------------------------------------------------------
    | id  |  leiName  |  Nid  |  NName  |  Tid  |  Title  |
    |  2  |  类名1    |  4   |   手机  |  99   |  ddddd |
    |  3  |  类名2    |  5   |    手机1  |  98   |  dererd |
    |  6  |  类名3    |  3   |    手机  |  97   |  dbbvd |
    |  3  |  类名6    |  8   |    手机3  |  96   |  31231dd |
    SQL 视图就这样的哦。然后就是根据 Tid来排序,99 手机 ddddd
    98 手机1  dererd 
    97 发现手机已经出现了,忽略,主要是怎么忽略这个。
    96  手机2   31231dd
      

  5.   

    算了。我看使用数组来过滤好了。如 Array
    (
        [id] => 39
       [xClass] => 超级王
        [Title] => 方式发送到
        [NURL] => 
        [CreateDate] => 2013-05-12 15:28:46
    )
    1
    Array
    (
        [id] => 32
        [DCName] => 玄
        [CURL] => 
        [Item1] => 风
        [Nid] => 62325
        [xClass] => 重天
        [Title] => fsfsd
        [CreateDate] => 2013-05-12 15:27:28
    )
    1
    Array
    (
        [id] => 32
        [DCName] => 玄
        [CURL] => 
        [Item1] => 风
        [Nid] => 62324
        [xClass] => 重天
        [Title] => dddddddd43432
        [CreateDate] => 2013-05-12 15:26:54
    )得到这样数组。
    xclass =  重天。就排除,留1个。用那个函数。
      

  6.   

    运行#2的sql代码不行?贴数组请贴出经 var_export() 后的数据。
      

  7.   

    $arr=你的数组;
    $t=array();
    foreach($arr as $v){
        if(!isset($t[$v['xClass']])){
        $t[$v['xClass']]=$v;  
    }
    }
    print_r(array_values($t));
      

  8.   

    得到的结果列表很乱,不是按Tid 排序。同时 当出现1个手机后,第三排在出现没忽略。
      

  9.   

    while($rsrow=$result->fetch_assoc()){
        echo '<pre>';
        print_r($rsrow);
        echo '</pre>';
    }得到的数组如下
    Array
    (
        [id] => 3
        [DCName] => 玄
        [CURL] => 3
        [Item1] => 唐
        [Nid] => 62326
        [xClass] => 超级王
        [Title] => 方式发送到
        [NURL] => 
        [CreateDate] => 2013-05-12 15:28:46
    )Array
    (
        [id] => 3
        [DCName] => 玄
        [CURL] => 3
        [Item1] => 唐
        [Nid] => 62325
        [xClass] => 重天
        [Title] => fsfsd
        [NURL] => 
        [CreateDate] => 2013-05-12 15:27:28
    )Array
    (
        [id] => 3
        [DCName] => 玄
        [CURL] => 3
        [Item1] => 唐少
        [Nid] => 62324
        [xClass] => 重天
        [Title] => dddddddd43432
        [NURL] => 
        [CreateDate] => 2013-05-12 15:26:54
    )最终过滤 当 键 xClass的值 重天出现过1次后,以后则忽略。
    这个函数时?
      

  10.   

    select * from 表1 group by NNname order by Tid desc 
      

  11.   

    while($rsrow=$result->fetch_assoc()){    $arr[]=$rsrow;
    }然后用 #10 代码