select distinct 字段1 from aselect top 1 * from a where 字段2=字段1 order by 时间字段3 desc大家帮忙看看,能否把2条语句合为1条语句

解决方案 »

  1.   

    不好意思,错了一点select distinct 字段1 from aselect top 1 * from a where 字段1=(select distinct 字段1 from a) order by 时间字段3 desc大家帮忙看看,能否把2条语句合为1条语句 
      

  2.   

    要达到什么目的
    distinct 是去重复的.
    top 1 是取 order by 时间字段3 desc 第一个的.
    你想要达到什么样的目的呢.
      

  3.   

    晕,还是没表达清楚select distinct 字段1 from aselect top 1 * from a where 字段1='上一条sql的字段1的值' order by 时间字段3 desc
    每个条件有多条记录,取时间最先的一条即可怎样才能循环起来大家帮忙看看,能否把2条语句合为1条语句 
      

  4.   


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

  5.   

    4#得出的是一条记录我是要每一个   字段1='上一条sql的字段1的值'  都得出一条时间最近的值再帮我想想
      

  6.   

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

  7.   

    6#,这样得出的始终是一条记录我需要distinct 字段1重复过滤后的每一记录,都要有一条按时间字段3排序后的第一条记录希望大家再帮我看看 
      

  8.   

    我知道意思了,分组后求第一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)
      

  9.   

    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
      

  10.   


    例数据
    id  字段1   时间字段2
    1    1       2012-11-11
    2    1       2012-11-10
    3    2       2012-11-11
    4    2       2012-11-10
    5    2       2012-11-16
    ……
    结果
    id  字段1   时间字段2
    1    1       2012-11-11
    5    2       2012-11-16
    ……
    不知道我描述是否清楚 
      

  11.   

    不好意思,应该是对的,惭愧,兄弟我思维混乱,搞乱了不过好象有更简单的语句select 字段1,max(时间字段2) from 表 group by 字段1好象是吧