select c1,c2,max(c3) as c3 from 表 group by c1,c2
 
或select c1,c2,min(c3) as c3 from 表 group by c1,c2可以吗

解决方案 »

  1.   

    使用 DISTINCT 消除重复项
    DISTINCT 关键字可从 SELECT 语句的结果中除去重复的行。如果没有指定 DISTINCT,那么将返回所有行,包括重复的行。例如,如果在 titleauthor 中选择所有作者 ID 时未使用 DISTINCT,那么将会返回下列行(其中包括一些重复的行):USE pubs
    SELECT au_id
    FROM titleauthor下面是结果集:au_id       
    ----------- 
    172-32-1176 
    213-46-8915 
    213-46-8915 
    238-95-7766 
    267-41-2394 
    267-41-2394 
    274-80-9391 
    409-56-7008 
    427-17-2319 
    472-27-2349 
    486-29-1786 
    486-29-1786 
    648-92-1872 
    672-71-3249 
    712-45-1867 
    722-51-5454 
    724-80-9391 
    724-80-9391 
    756-30-7391 
    807-91-6654 
    846-92-7186 
    899-46-2035 
    899-46-2035 
    998-72-3567 
    998-72-3567 (25 row(s) affected)而使用了 DISTINCT 后,就能够除去重复项,而只查看唯一的作者 ID:USE pubs
    SELECT DISTINCT au_id
    FROM titleauthor下面是结果集:au_id       
    ----------- 
    172-32-1176 
    213-46-8915 
    238-95-7766 
    267-41-2394 
    274-80-9391 
    409-56-7008 
    427-17-2319 
    472-27-2349 
    486-29-1786 
    648-92-1872 
    672-71-3249 
    712-45-1867 
    722-51-5454 
    724-80-9391 
    756-30-7391 
    807-91-6654 
    846-92-7186 
    899-46-2035 
    998-72-3567 (19 row(s) affected)
      

  2.   

    select DISTINCT c1 & c2,c3 from yourtable
      

  3.   

    select c1,c2,c3 from(select c1,c2 from table_name group by c1,c2) as A,table_name
    where A.c1=table_name.c1 and A.c2=table_name.c2其中table_name 为你要查询的表名
      

  4.   

    谢谢大家
    didoleo(冷月无声)  的方法不仅让我解决了这个问题
    还启发我解决了另一个必须解决的问题 呵呵