У меня есть запрос, который очень просто выглядит так:
SELECT
event_date,
client_id,
error_id
FROM
table.name
Это не фактический запрос, но ради простоты и наличия чего-то воспроизводимого, он дает нам то, что нам нужно. Это производит вывод как это:
event_date client_id error_id
2018-09-01 12345 232 send failure
2018-09-02 12345 232 send failure
2018-09-03 12345 232 send failure
2018-09-05 12345 232 send failure
2018-09-01 12345 508 server failure
2018-09-02 12345 615 script break
2018-09-01 67890 232 send failure
2018-09-02 67890 232 send failure
2018-09-03 67890 404 load failure
2018-09-01 67890 508 server failure
2018-09-02 67890 615 script break
Что я хочу сделать, так это создать еще один столбец, который будет "помечаться", если идентификатор клиента видит эту ошибку в последовательные дни. Итак, скажем, в первый раз, когда идентификатор клиента # 12345 видит, 232 send failure
равен 2018-09-01
. В 2018-09-02
(или в любую последующую последовательную дату, когда появляется эта ошибка, она будет помечена. Поэтому ошибка в 2018-09-05
, несмотря на то, что это та же ошибка для того же идентификатора клиента, не будет помечена, потому что ее не было в 2018-09-04
. Итак, мой идеальный вывод будет выглядеть так:
event_date client_id error_id flag
2018-09-01 12345 232 send failure No
2018-09-02 12345 232 send failure Yes
2018-09-03 12345 232 send failure Yes
2018-09-05 12345 232 send failure No
2018-09-01 12345 508 server failure No
2018-09-02 12345 615 script break No
2018-09-01 67890 232 send failure No
2018-09-02 67890 232 send failure Yes
2018-09-03 67890 404 load failure. No
2018-09-01 67890 508 server failure No
2018-09-02 67890 615 script break Yes