Una insignia por tiempo de lectura?

Esta consulta lista a los usuarios que pasaron más de 480 horas leyendo publicaciones. Espero que sea de ayuda.

-- conversión a milisegundos: [cantidad de horas * 3600000]: 480 * 3600000 = 1,728,000,000

WITH time_reading AS (
    SELECT 
        user_id, 
        SUM(msecs) AS horas 
    FROM post_timings 
    GROUP BY user_id
    HAVING SUM(msecs) >= 1728000000)

SELECT user_id, CURRENT_TIMESTAMP AS granted_at
FROM time_reading