2016-02-23 8 views
0

Предположим, у меня есть следующая таблица. Я хочу подсчитать количество побед перед первой потерей, и я хочу сделать заказ днем. Так что перед первой потери на 4 января, были 3 победы на 1-й, 2-й и 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

пожалуйста, покажите, что вы пробовали до сих пор – kaonashi

ответ

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'); 
+0

как я масштабировать это для будущих месяцев, как февраль и марш? внутренний подзапрос возвращает только одно значение. Невозможно сделать это для нескольких значений – Kiran

+0

: @ gordon-linoff любые предложения по этому поводу будут оценены – Kiran

+0

@KiranK. , , Я ничего не вижу в вопросе, который связан с месяцем. Я бы предложил вам задать другой вопрос, включая образцы данных и желаемые результаты. –

Смежные вопросы