查询前10个 trait_value不重复的行select distinct trait_value from articles limit 0,10
上面没错,但是看下面的为什么错了
select distinct trait_value,id ,parent_id ,child_id,dg_id from articles limit 0,10
现在就是重复的了该怎么改??

解决方案 »

  1.   

    select * from (select distinct trait_value from articles) t limit 10;
    是选出这些字段都不重复的。
    说明一下你需要的结果是什么?
      

  2.   

    第一条是选出trait_value 这个字段不重复的前十行记录
    第二条是选出trait_value,id ,parent_id ,child_id,dg_id 四个字段都不重复的前十行记录
      

  3.   

    哦,买噶的!我前面有加了个dg_id 
    我的sql是:select distinct trait_value , id , parent_id , child_id ,dg_id from fenlei
    where (dg_id = 1 and parent_id = 0  and articles is not null) or
    (dg_id = 2 and parent_id = 0  and articles is not null) limit 1,10
      

  4.   

    哦,对了,我要是非得加那个dg_id 呢,怎么才可以?虽然条件里有但是我还需要呢~~~
      

  5.   

    dg_id id trait_value parent_id child_id ……
      1    1    百度           0         5
      1    2    百度           0         23
      1    3    sina         0         45
      2    1    yahoo        1         67
      2    2    yahoo        1         98
      2    3    sohu         1         123……我想列出10个 trait_value 但不要重复的,条件是prent_id =0 and dg_id = list<1,2,3..>
    我需要 trait_value dg_id(因为dg_id 在下一部要用) id  
      

  6.   

    建议你能提供 create table / insert into 语句,这样别人可以直接搭与你相同的环境。 另外注意最好把你期望的结果写出来。否则你到底需要几列?别人猜不中的话,反而浪费大家时间。
      

  7.   

    distinct trait_value,id ,parent_id ,child_id,dg_id --------------
    这个是针对多个字段的同时成立的情况下的不重复,那当然有可能出现trait_value的情况啦
      

  8.   

    那当然有可能出现trait_value重复的情况啦