|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
Есть таблица, в которой хранится история достижений участников соревнования. Примерно такая: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Нужно написать запрос, который выберет участников, имеющих ранг не ниже заданного, и указать, сколько раз подряд они достигали этого ранга или выше, включая последний период. Т.е. если есть такой набор данных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
То для ранга 5 и номера текущего периода 103 запрос должен вернуть вот такой результат: UserId Count 2 3 3 1 5 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 10:51 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
Abejon То для ранга 5 и номера текущего периода 103 запрос должен вернуть вот такой результат: UserId Count 2 3 3 1 5 4 а UserId = 4 куда делся ? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
UserIdcnt23314354 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 11:44 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
Abejon Нужно написать запрос, который выберет участников, имеющих ранг не ниже заданного, и указать, сколько раз подряд они достигали этого ранга или выше, включая последний период . т.е. ранг в посл.периоде, должен быть не ниже заданного ? тогда, да, 4-й - вылетает ) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
UserIdcnt233154 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 11:48 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
court т.е. ранг в посл.периоде, должен быть не ниже заданного ? + и считается только период непрерывности который включает посл.период (?) тогда всё проще ) Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 11:58 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
court, автортогда всё проще Во втором варианте количество получается отрицательным. А в первом варианте на реальной базе почему-то не работает вообще - возвращает пустую выборку. Отличие в том, что номер периода больше и минимальный ранг. При этом, я точно знаю, что есть 10 человек, удовлетворяющих этому условию. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 14:23 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
court, собственно, второй вариант тоже на реальной базе возвращает пустую выборку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 14:42 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
court, а если беру не последний период, а последний период - 1, то данные возвращаются, но много лишних записей, которые не должны попадать в выборку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 14:45 |
|
Как посчитать количество успешных месяцев подряд
|
|||
---|---|---|---|
#18+
Abejon, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2021, 15:13 |
|
|
start [/forum/topic.php?fid=46&fpage=20&tid=1684545]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 395ms |
0 / 0 |