求教distinct问题
本人遇到的问题如下:假设有一张表a 内含4个字段 a1 a2 a3 a4共有10条记录 其中有两条记录的a2字段数据相同
我想在select这4个字段时 对a2字段使用distinct即distinct(a2)以达到select这张表的全部数据时,a2字段值相同的两条记录任选出一条即可 可在sybase中distinct不能这样用
请问有什么方法能实现以上效果,最好用一条sql语句实现,谢谢 select distinct a2 from a 难道不行吗? 我是要select出四个字段的所有记录 但a2字段的重复记录只取一条
就是类似:selecta1,distct(a2),a3,a4 from a (这个语句是错的只是用来说明我的意思)
请问该用一条sql语句该怎么写 可以通过
select min(a1) from a where a2=dup_a2 确定唯一的一条记录吗?
如果可以的话,就
select * from a where a2=dup_a2 and a1 in (select min (a1) from a where a2=dup_a2)
union all
select * from a where a2!=dup_a2 原帖由 菜朵朵 于 2009-7-10 10:32 发表 http://bbs3.chinaunix.net/images/common/back.gif
我是要select出四个字段的所有记录 但a2字段的重复记录只取一条
就是类似:selecta1,distct(a2),a3,a4 from a (这个语句是错的只是用来说明我的意思)
请问该用一条sql语句该怎么写
你把你的意思说清楚先吧,让人看不明白。
拿数据出来举例子 举个例子吧 表a 有 a1a2a3a4 四个字段内容如下
a1 a2 a3 a4
--- ---- --- ----
1 2 3 4
5 6 7 8
q 2 w e
z x c v
其中第1条和第3条的的a2字段有重复值
我想select出全部记录但a2字段不能重复也就是第1条和第3条有一条被选出就行无所谓哪一条,
选出后的结果希望能达到如下效果:
a1 a2 a3 a4
--- ---- --- ----
1 2 3 4
5 6 7 8
z x c v
或者是
a1 a2 a3 a4
--- ---- --- ----
5 6 7 8
q 2 w e
z x c v
请问这语句该怎么写呢?? 原帖由 chuxu 于 2009-7-10 12:52 发表 http://bbs3.chinaunix.net/images/common/back.gif
可以通过
select min(a1) from a where a2=dup_a2 确定唯一的一条记录吗?
如果可以的话,就
select * from a where a2=dup_a2 and a1 in (select min (a1) from a where a2=dup_a2)
union all
select * ...
select a2 into #t as dup_a2 from a group by a2 having count(a2)>1
再用上面的办法。
页:
[1]