id  名称  个数   分类  1    王    2       2
2    赵    5       4
3    王    6       2
4    李    7       3
5    赵    8       4
6    李    4       3怎么写数据语句  把  “分类”的字段 重复的去掉。直接读出来
1    王    2       2
2    赵    5       4
4    李    7       3求解答

解决方案 »

  1.   

    SELECT * FROM TB T WHERE ID=(SELECT MIN(ID) FROM TB WHERE 名称=T.名称)
      

  2.   


     select * from 表名 group by 分类
      

  3.   


    SELECT * FROM TB T WHERE exists(select 1 from (SELECT MIN(ID) as mid  FROM TB group by 分类 ) z 
    WHERE z.mid=T.id )
      

  4.   

    使用 distinct 去除重复的项
    select id,名称,个数,distinct 分类 from table 
      

  5.   

    1L的没问题啊,min比较后就是读取重复的一个值
      

  6.   

    SELECT * FROM TB T WHERE ID=(SELECT MIN(ID) FROM TB WHERE 分类=T.分类)条件改一下。是分类的话
      

  7.   

    delete from 表名
    where
    id not in
    (
    select max(id),名称,分类 from 表名 group by 名称,分类  
    )---注不知道你个数需不需比较,如果需要在group by后面加“个数”字段即可
      

  8.   


    select distinct 名称 from table
      

  9.   

    select * from 表名 group by 分类
      

  10.   

    select * from 表  where id  in(select max(ID) from 表 group by 分类)
      

  11.   

    SELECT * FROM TABLE WHERE ID=(SELECT MIN(ID) FROM TABLE GROUP BY 分类)
      

  12.   

     
    select * from 表 as a where not exists(select * from 表 where 名称=a.名称 and id<a.id)
      

  13.   

    select * from table_name  where 分类 in(select 分类 from 表名 group by 分类)
      

  14.   

    修改下SELECT * FROM TABLE_name WHERE ID=(SELECT MIN(ID) FROM TABLE GROUP BY 分类)
    测试过了 好用
      

  15.   

    修改下 SELECT * FROM TABLE_name WHERE ID in (SELECT MIN(ID) FROM TABLE GROUP BY 分类)