Мне нужно ROW_NUMBER, чтобы назначить данные конкретному пользователю, если выполнено условие.Получение ROW_NUMBER для повторения, если поле соответствует условию
ROW_NUMBER будет увеличиваться до тех пор, пока не будет найдено дублирующее значение. Когда дублирующее значение найдено, мне нужно, чтобы он использовал тот же ROW_NUMBER, пока не будет найдено новое значение.
Например ...
При использовании
SELECT ROW_NUMBER() OVER (ORDER BY COMPANY) AS rownum
,Company
,Contact
FROM TABLE
Мы можем, очевидно, ожидать, этот результат
rownum Company Contact
1 BOB'S BURGERS BOB
2 STEVE'S SARDINES STEVE
3 STEVE'S SARDINES JERRY
4 STEVE'S SARDINES MARY
5 LARRY's LOBSTER LARRY
6 CHRIS' COWS CHRIS
То, что я пытаюсь получить это. Всякий раз, когда название компании не изменения, повторите ROW_NUMBER и продолжают увеличивать число, когда компания меняет
rownum Company Contact
1 BOB'S BURGERS BOB
2 STEVE'S SARDINES STEVE
2 STEVE'S SARDINES JERRY
2 STEVE'S SARDINES MARY
3 LARRY'S LOBSTER LARRY
4 CHRIS' COWS CHRIS
Я использую это условие, чтобы увидеть, если компания соответствует прежнему названию компании. Она возвращает значение 2, если условие истинно
ROW_NUMBER() OVER (PARTITION BY COMPANY ORDER BY COMPANY) AS SameCompany
Не могу поверить, что все было так просто. Я ценю это! – jdidsQAA
Нет проблем. Рад, что он работает! –