如何计算列的最后一个空值行数

时间:2014-03-18 10:35:40

标签: sql sql-server-2008

我有一个表格,它给我输出像

RowId   StartTime             EndTime   
1   2014-03-12 04:44:20.100    NULL 
2   2014-03-12 04:44:20.100    2014-03-18 06:46:24.193  
3   2014-03-18 06:53:05.590    NULL 
4   2014-03-18 06:53:05.590    NULL 

现在我想要,因为你可以看到第3和第4行有null value,这些是'Endtime'列有值后的最后一行..所以它应该返回我2 count.

我如何获得此输出。 ?

2 个答案:

答案 0 :(得分:1)

要获取所有具有空EndTime且在最后(最大)EndTime之后开始的行,您可以使用:

select count(RowId)
from table1
where StartTime > (select MAX(EndTime) from table1)
and EndTime IS NULL

答案 1 :(得分:0)

select count(*) as count 
from table 
order by Starttime desc 
group by Starttime 
having EndTime=Null