假设我有下表。我想计算第一次失败之前的胜利数量,我想按天订购。因此,在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
答案 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');