Во-первых, я правильнопонял, что login — это первичный ключ для tabl2? А то он у вас второй в списке, что заставляет меня задуматся.
Во-вторых, я правильно понял, что таблица должна обновлятся, если первичный ключ уже существует?
В общем если я все правильно понял, то могу предложить сделать вот так:
INSERT INTO tabl2 (login, top)
SELECT * FROM (SELECT login, COUNT(*) AS cnt FROM tabl1 GROUP BY login) AS t1
ON DUPLICATE KEY UPDATE top = t1.cnt;