Мне нужно знать, как сузить окно разбиения с условием. Например, если у меня есть следующее:
SELECT
T1.*,
COUNT(T1.ID) OVER (PARTITION BY ID)
FROM TBL T1
WHERE /* some other conditions */;
Мне нужно, чтобы раздел идентификатора был только подмножеством всех идентификаторов, которые имеют T1.TYPE = 'J'
.
+---------+--------+---------------+--------+
| ID | TYPE | OTH1 | OTH2 |
+---------+--------+---------------+--------+
| 1 | K | 500 | RER |
| 1 | J | 503 | LEL |
| 1 | J | 534 | KEL |
| 2 | J | 536 | NULL |
| 2 | J | 667 | ERT |
| 2 | J | 98 | NULL |
+---------+--------+---------------+--------+
В этом наборе данных мне нужно учитывать только количество окон, если TYPE = J
, поэтому для ID = 1
значение должно быть 2, а не 3, поскольку первая строка TYPE = K
(ID = 2
, где счет 3).
Возможно ли это?