Redshift Row_number () разные числа на разных запусках - PullRequest
0 голосов
/ 25 октября 2018

На верхнем уровне оператора select у меня есть select_number row, который выглядит следующим образом:

    Row_number() over (
        PARTITION BY
        field1, field2
        ORDER BY timestamp DESC NULLS LAST
    ) as ts_rank

Я заметил несогласованное поведение с этим запросом.Если я снова выполню просмотр, иногда в столбце ts_rank он будет содержать 4 1 и 3 2 или 5 1 и 2 2 или 6 1 и 1 2 ... и т. Д.

Я понимаю, что если мои разделывключает в себя аналогичные значения (в данном случае их нет), порядок не гарантируется одинаковым.

Но не имеет смысла, что количество строк rank 1 и rank 2 должно изменяться ...

Есть ли потенциальная ошибка в красном смещении, которая может быть причиной этого?Или какие-то несоответствия, которые я не рассматриваю?

1 Ответ

0 голосов
/ 05 августа 2019

Итак, я давно перестал работать над проектом, в котором это было задействовано.

Парень из нашей компании, который был в контакте с AWS, спросил их об этом, но, насколько я знаю,Обходной путь не был предоставлен, и исправление не было реализовано.

Я обошел его, просто изменив мои запросы, чтобы не использовать Row_number, поэтому решение здесь состоит в том, чтобы просто не использовать функциональность, принять неопределенностьили, если вы в состоянии, где можете, переключитесь на хорошую базу данных хранилищ столбцов (например, хранилище столбцов mariadb или clickhouse)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...