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

获取不同信息的最新信息
table 格式:
id    nametype   step  comments
1     design     1     afasdfa
2     code       1     wewewe
3     design     2     irerer

我想查找出来的样式:
  nametype   step  comments
    design     2     irerer
    code       1     wewewe

也就是  当nametype 为‘design’ 且step为最大时查询出来  ,相同的nametype  根据step取最新的数据

------解决方案--------------------
select * from table  a
where not exists( select id from table  b on a.nametype=b.nametype 
       and a.step<b.step  )
------解决方案--------------------
select *
from table a
where exists (select 1 from (select nametype ,max(step)step from table where nametype ='design' group by nametype ) b where a.nametype=b.nametype and a.step=b.step)
and nametype ='design'
------解决方案--------------------
引用:
table 格式:
id    nametype   step  comments
1     design     1     afasdfa
2     code       1     wewewe
3     design     2     irerer

我想查找出来的样式:
  nametype   step  comments
    design     2     irerer
    code       1     wewewe

也就是  当nametype 为‘design’ 且step为最大时查询出来  ,相同的nametype  根据step取最新的数据
code貌似不满足你的需求哦
------解决方案--------------------
你是不是这个意思?
select [id],[nametype], [step] from(select *,ROW_NUMBER () over (partition by nametype order by step desc) as row from [Table])t where t.row=1

--id nametype step
--2 code 1
--3 design 2

------解决方案--------