╔════════════════════╦═══════════╦══════════╦═══════╦══════╗
║ ENDTIME ║ TRAILERID ║ POSITION ║ STORE ║ STOP ║
╠════════════════════╬═══════════╬══════════╬═══════╬══════╣
║ 11/7/2017 15:15:44 ║ 145 ║ L1 ║ BOS ║ 1 ║
║ 11/7/2017 15:16:57 ║ 145 ║ L2 ║ NY ║ 3 ║
║ 11/7/2017 15:17:24 ║ 145 ║ R1 ║ NY ║ 2 ║
║ 11/7/2017 15:17:57 ║ 145 ║ R2 ║ NY ║ 1 ║
║ 11/7/2017 15:18:26 ║ 145 ║ L3 ║ CT ║ 2 ║
║ 11/7/2017 15:34:24 ║ 145 ║ R3 ║ CT ║ 1 ║
║ 11/7/2017 16:02:01 ║ 999 ║ L1 ║ NJ ║ 2 ║
║ 11/7/2017 16:22:33 ║ 999 ║ R1 ║ NJ ║ 1 ║
║ 11/7/2017 16:23:14 ║ 999 ║ L2 ║ WA ║ 3 ║
║ 11/7/2017 16:27:16 ║ 999 ║ R2 ║ WA ║ 2 ║
║ 11/7/2017 16:27:46 ║ 999 ║ L3 ║ WA ║ 1 ║
╚════════════════════╩═══════════╩══════════╩═══════╩══════╝
I'm trying to change the stop field to look like below
╔════════════════════╦═══════════╦══════════╦═══════╦══════╗
║ ENDTIME ║ TRAILERID ║ POSITION ║ STORE ║ STOP ║
╠════════════════════╬═══════════╬══════════╬═══════╬══════╣
║ 11/7/2017 15:15:44 ║ 145 ║ L1 ║ BOS ║ 3 ║
║ 11/7/2017 15:16:57 ║ 145 ║ L2 ║ NY ║ 2 ║
║ 11/7/2017 15:17:24 ║ 145 ║ R1 ║ NY ║ 2 ║
║ 11/7/2017 15:17:57 ║ 145 ║ R2 ║ NY ║ 2 ║
║ 11/7/2017 15:18:26 ║ 145 ║ L3 ║ CT ║ 1 ║
║ 11/7/2017 15:34:24 ║ 145 ║ R3 ║ CT ║ 1 ║
║ 11/7/2017 16:02:01 ║ 999 ║ L1 ║ NJ ║ 2 ║
║ 11/7/2017 16:22:33 ║ 999 ║ R1 ║ NJ ║ 2 ║
║ 11/7/2017 16:23:14 ║ 999 ║ L2 ║ WA ║ 1 ║
║ 11/7/2017 16:27:16 ║ 999 ║ R2 ║ WA ║ 1 ║
║ 11/7/2017 16:27:46 ║ 999 ║ L3 ║ WA ║ 1 ║
╚════════════════════╩═══════════╩══════════╩═══════╩══════╝
my attempt was to use row_number and rank but I cant' get to get the right results. Is giving me the first table result.
SELECT ps.ENDTIME, ps.TRUCKID as TRAILERID, ps.CONTAINERPOSITION as POSITION,ps.STORE,RANK() OVER( PARTITION by ps.STORE ORDER BY ps.ENDTIME DESC)AS STOP
FROM TRAILERDATA ps
ORDER BY ps.ENDTIME ASC
The most important thing is to label by group of stores with the same rank even if the ENDTIME is not in proper sequence.