a1,a2,a4,a5 状情不明,这么什么要条件呀

解决方案 »

  1.   

    select a.* from aaa a where not exists(select 1 from aaa where a3=a.a3 and a1<>a.a1)
      

  2.   

    --trySELECT MIN(a1) AS a1, MIN(a2) AS a2, a3, MIN(a4) AS a4, MIN(a5) AS a5 FROM aaa GROUP BY a3
    ORDER BY a1
      

  3.   

    举个例子,比如数据库中有如下数据
    a1     a2     a3     a4     a5
    1      a      aaa    a      a
    2      b      bbb    b      b
    3      c      aaa    c      c
    4      d      bbb    d      d
    5      e      eee    e      e
    6      f      ddd    f      f
    7      g      bbb    g      g
    8      h      eee    h      h
    9      i      eee    i      i
    10     j      aaa    j      j
    如何用一条语句取得这样记录集,去掉a3中重复的字段,取a1是最小的,如下
    a1     a2     a3     a4     a5
    1      a      aaa    a      a
    2      b      bbb    b      b
    5      e      eee    e      e
    6      f      ddd    f      f
      

  4.   

    啊?怎么这么复杂呀 ?
    select distinct * from TableName 
    好像这个语句就可以了吧。
      

  5.   

    --如果a1不会重复则
    --trySELECT * FROM aaa WHERE a1 IN(SELECT MIN(a1) FROM aaa GROUP BY a3)
      

  6.   

    这样好像不行的,distinct关键字是去除其后所跟所有字段的重复,只有记录中的每一个字段值都相同才会将这条记录去除的
    大家想想有什么好办法啊
      

  7.   

    成了,谢谢大家,用的是 xiajianfeng(权利的战车)的方法