Top quality users in last six months

Top quality users in last six months

Top 20 users by average post score.

Post scores are calculated based on reply count, likes, incoming links, bookmarks, average time (reading?) and read count.

SELECT 
    sum(p.score) / count(p) as "average score per post", 
    count(p.id) as post_count, 
    p.user_id
FROM posts p
JOIN users u ON u.id = p.user_id
WHERE p.created_at >= CURRENT_DATE - INTERVAL '6 month'
  AND NOT u.admin
  AND NOT u.silenced
  AND u.active
GROUP by user_id, u.views
HAVING count(p.id) > 50
ORDER BY sum(p.score) / count(p) DESC
LIMIT 20
11 Me gusta

Hola, me encanta la consulta de Usuarios de Alta Calidad en los últimos seis meses. Me pregunto… ¿cómo escribiríamos una consulta similar para mostrar los Usuarios de Baja Calidad en los últimos seis meses? Alguien que haya publicado mucho, pero que haya recibido muy pocos me gusta, respuestas, etc.

Intenta eliminar el “DESC” de esta línea:

ORDER BY sum(p.score) / count(p)
3 Me gusta

¡Excelente, gracias! Lo aprecio mucho.

También cambié esto: " HAVING count(p.id) > 5" para obtener resultados más relevantes para mi comunidad. Seguiré ajustándolo. Parece que nuestro equipo de moderadores interviene con las personas antes de que publiquen demasiado si sus publicaciones son de baja calidad. Parece que esta consulta puede ayudar a validar mi percepción sobre alguien y también ofrecer una primera impresión sobre cuándo alguien no está empezando bien.

1 me gusta