select 列名1,列名2......from tabel1 group by 列名1

解决方案 »

  1.   

    不同意楼上的,group by 之后一定要把 select 之后的列名全部列出来(没有使用聚集函数的列),否则出错.
    to whxxr (彬彬) :
    如果你那种写法得到正确的结果的话我想已经是最简单的了!!
      

  2.   

    to lysshe(蛇子)
    不是一定要把所有列名列出来啊!你用的是什么数据库?我在vfp,paradox试过可以啊!!
      

  3.   

    select ... from tableName group by ... having...
      

  4.   

    用程序写了一个,没有编译你试试吧!var
      i,j : Integer;
      ss : array of String;
      str,ff : string;
    begin
      setlength(ss,ADOQuery1.FieldCount);
      for i:=0 to ADOQuery1.FieldCount-1 do
      begin
        if ADOQuery1.Fields[i].DisplayName<>'DISTINCT(列名1)' then
        begin
          ss[i]:=','+ADOQuery1.Fields[i].DisplayName
        end;
      end;
      for j:=low(ss) to high(ss) do
      begin
         ff:=ff+ss[j];
      end;
        str:='select DISTINCT(列名1)'+ff+' from  aaa';
    end;