У меня есть четыре столбца, которые я пытаюсь оценить. Они должны быть сгруппированы по идентификатору сотрудника, а затем перечислены по убыванию по номеру заказа. Затем, когда все в порядке, я действительно пытаюсь получить рейтинг того, где город падает в этом порядке. Если один и тот же город указан за другим для одного и того же сотрудника, то я хочу, чтобы те оценивали его.
Пример таблицы приведен ниже. Порядок правильный, но рейтинг не соответствует тому, что я пытаюсь сделать.
Name Employee_ID Order_Number City Rank
John 1 1 Boston 1
John 1 2 Boston 2
Will 2 1 Peabody 1
Will 2 2 Weston 2
Will 2 3 Newton 3
select Name, Employee_ID, Order_Number, City,
dense_rank() over(partition by Employee_ID order by Order_Number) as rank
from #Employee
Как бы я на самом деле хотел получить результаты:
Name Employee_ID Order_Number City Rank
John 1 1 Boston 1
John 1 2 Boston 1
Will 2 1 Boston 1
Will 2 2 Weston 2
Will 2 3 Newton 3
Тогда я бы в конечном итоге удалил дубликаты городов, чтобы в итоге получить:
Name Employee_ID Order_Number City Rank
John 1 1 Boston 1
Will 2 1 Boston 1
Will 2 2 Weston 2
Will 2 3 Newton 3