В таблицу добавляете counter, его обновляете при каждом запросе баннера. Соответственно выбираете тот у которого counter меньше. Если еще и для каждого пользователя надо равномерно показывать, то можете как предложил
Андрей Буров писать в сессию. Я бы писал в localStorage, и подгружал баннеры асинхронно, выбирая с наименьшим counter и минус те, что есть в localstorage. Тогда часть выборки ляжет на клиент, что сэкономит ресурсы немного.