Сортировка и пометка данных - PullRequest
0 голосов
/ 25 февраля 2019

У меня огромный набор данных, который находится на сервере Amazon Redshift, и мне нужно выполнить некоторую сортировку и пометку в наборе данных (для справки прилагается образец набора данных).Две задачи, которые мне нужно выполнить:

  1. Мне нужно отсортировать данные по S_Number и days_difference в порядке возрастания
  2. Пометка - необходимо создать новый столбецназывается flag, и он должен сделать следующие шаги:

    • Если моя строка 1: S_Number = row -1: S_Number then row -1: Flag +1 else 1.

Я использую Alteryx дляпотянув за данные, но все же я использую SQL-запрос для достижения целиЛюбая помощь будет очень полезна.

Я дал ссылки на пример входного файла, а также ожидаемый результат.Дайте мне знать, что мой вопрос не ясен.

Sample_Input_File

Ожидаемый_выход

1 Ответ

0 голосов
/ 25 февраля 2019

Если я правильно понял, вы хотите отсортировать результаты и добавить позицию каждой строки, сгруппированную по S_Number.Если это так, это называется «оконная функция» в SQL и Redshift, и вы можете получить результаты, подобные тем, которые вы предоставили в запросе ниже.Обратите внимание, что я не запускал запрос, поэтому он может содержать небольшую синтаксическую ошибку (надеюсь, что нет).

SELECT timestamp, S_Number, days_difference, ROW_NUMBER () OVER
(PARTITION BY S_Number ORDER BY timestamp ASC) AS Flag
FROM your_table
ORDER BY S_Number ASC, timestamp ASC
...