id     name
 1     zhangsan
 2     zhangsan
 3     zhangwu
 4     zhangsan我现在想用group by过滤zhangsan,想吧id为4的zhangsan留下来,应该怎么来实现呀

解决方案 »

  1.   

    为啥要用group by?
    select * from tablename where id=4 and name like 'zhang%'
      

  2.   

    我在声明一下哦。要用group by来实现哦。
      

  3.   

    请你说明为啥要用group by哦,你不解释根据哪个列group by,我们不知道的哦!!!
      

  4.   

    你确定是group by我觉得用order by也比你那个靠谱你是不是想取得zhangsan的最大id?
      

  5.   

    group 是分组,mysql将返回该组第一条记录的信息(若该字段不做运算)
      

  6.   


    SELECT *
    FROM (SELECT *
    FROM `test`
    WHERE 1
    ORDER BY id DESC
    ) AS t
    GROUP BY name
      

  7.   

    lz那样岂不是更加的麻烦的么,group by一般都是用来统计的,不能用于过滤
      

  8.   

    $sql = "select cdb_forums.name,cdb_threads.tid,cdb_threads.fid,cdb_threads.subject from cdb_forums left join cdb_threads on cdb_forums.fid = cdb_threads.fid order by cdb_threads.tid desc limit 0,3";