关于这个SQL语句应该怎样写更简单?

whxxr 2002-05-06 04:34:21
我有一张表里面有许多重复的值(列大概有30左右)。我想将重复值筛选出来。
我可以用SELECT DISTINCT(列名1) FROM TABLE1。
上述语句可以筛选出来,但只能显示一列。如果我想将全部列显示出来用
SELECT DISTINCT (列名1),列名,列名3.....列名30 FROM TABLE1。
请问有没有一种简单的方法可以实现上述功能。
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sword1028 2002-05-06
  • 打赏
  • 举报
回复
用程序写了一个,没有编译你试试吧!

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;
Dofy 2002-05-06
  • 打赏
  • 举报
回复
select ... from tableName group by ... having...
linx88 2002-05-06
  • 打赏
  • 举报
回复
to lysshe(蛇子)
不是一定要把所有列名列出来啊!你用的是什么数据库?我在vfp,paradox试过可以啊!!
LYSSHE 2002-05-06
  • 打赏
  • 举报
回复
不同意楼上的,group by 之后一定要把 select 之后的列名全部列出来(没有使用聚集函数的列),否则出错.
to whxxr (彬彬) :
如果你那种写法得到正确的结果的话我想已经是最简单的了!!
linx88 2002-05-06
  • 打赏
  • 举报
回复
select 列名1,列名2......from tabel1 group by 列名1

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧