日期:2014-05-17  浏览次数:20462 次

重复过滤相关的问题

select distinct 字段1 from a

select top 1 * from a where 字段2=字段1 order by 时间字段3 desc

大家帮忙看看,能否把2条语句合为1条语句
------解决方案--------------------
要达到什么目的
distinct 是去重复的.
top 1 是取 order by 时间字段3 desc 第一个的.
你想要达到什么样的目的呢.
------解决方案--------------------

select top 1 * 
from a 
where 字段1 in (select distinct 字段1 from a) 
order by 时间字段3 desc

------解决方案--------------------
select top 1 * from a where 字段2=字段1 and 字段1 in(select distinct 字段1 from a) order by 时间字段3 desc
------解决方案--------------------
我知道意思了,分组后求第一

select A.字段1,A.时间字段3
from a as A
where no exists (select 1 from a as AA where A.字段1 = AA.字段1 and A.时间字段3>AA.时间字段3)
------解决方案--------------------
select distinct 字段1 into #a from a
while exists(select 1 from #a)
begin
 select top 1 * from a where 字段2=字段1 order by 时间字段3 desc
 delete top 1 from #a 
end
------解决方案--------------------
引用:
不好意思昨天出去了
8#的兄弟,不行啊,出来的数据多的多,继续帮忙想想啊

那兄弟,你上示例数据和预期查询结果数据示例 吧
不然真不知道,你想要哪方便的。