特定值之前的Rownumber计数

时间:2016-02-23 03:21:05

标签: sql

假设我有下表。我想计算第一次失败之前的胜利数量,我想按天订购。因此,在1月4日第一次失利之前,我在1日,2日和3日有3场比赛我应该得到3.我在rownumber()中使用了一个案例陈述,但没有工作

Day Score 
2-Jan   Win
1-Jan   Win
4-Jan   Lose
3-Jan   Win
5-Jan   Lose
6-Jan   Win

期望输出

Day   Count(wins)
Day 3-Jan 3

1 个答案:

答案 0 :(得分:1)

您可以使用where子句中的子查询执行此操作:

select max(date), count(*)
from t
where t.score = 'Win' and
      t.date < (select min(t2.date) from t t2 where t2.score = 'Lose');