2014-08-28 19 views
0

我需要first_value替代SQL Server 2008中如何在SQL Server 2008中实现First_Value()over()?

select distinct 
    spisznacka, 
    first_value(VdruhStavRizeni) over (partition by spisZnacka order by id desc) as stav 
from 
    isirshort 
where 
    VdruhStavRizeni !='' 

我需要spisznacka和最后不是VdruhStavRizeni空值... 1 spisznacka有1 VdruhstavRizeni

感谢答案。

+1

你可以使用其他名称的变量? spisznacka和VdruhStavRizeni ........... – Juan 2014-08-28 12:21:08

回答

1

你可以用row_number()和更多的逻辑来做到这一点,就像这样。我想你想要:

select spisznacka, VdruhStavRizeni 
from (select spisznacka, VdruhStavRizeni, 
      row_number(VdruhStavRizeni) over (partition by spisZnacka order by id desc) as seqnum 
     from isirshort 
     where VdruhStavRizeni <> '' 
    ) sv 
where seqnum = 1;