SET @rank=0;
SELECT f.*
FROM (
SELECT @rank:=@rank+1 AS rank, s.*
FROM (
SELECT p.user_id, SUM(ch.integer) as sum
FROM profile p
LEFT JOIN chronometry ch ON ch.user_id = p.user_id
GROUP BY p.user_id
ORDER BY sum DESC
) s
) f
WHERE f.user_id = 17
UPDATE tbl SET col=col
не продублируется, т.к. изменено строк 0)в чем принципиальная разница с проверкой изначальной таблицы оценок каждые n минут?