I also realized, that I don't need to rank the entire database - I only need to check the rank of "the entry before this one" and swap them if the count reverses.
ie:
video A = 45
video B = 44
View B:
video A = 45
video B = 45 (no swap)
View B again:
video A = 45
video B = 46 (swap now, so B is above A)
=>
video B = 46
video A = 45
|