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

こんにちは、「過去6か月の最高品質ユーザー」クエリが大好きです。さて、同じようなクエリで「過去6か月の最低品質ユーザー」を表示するにはどうすればよいでしょうか?投稿数は多いものの、いいねや返信などが非常に少ないユーザーのようなものです。

この行から「DESC」を削除してみてください。

ORDER BY sum(p.score) / count(p)
「いいね!」 3

素晴らしい、ありがとうございます。とても助かりました!

また、「 HAVING count(p.id) > 5」を「コミュニティにとってより関連性の高い結果が得られるよう」変更しました。引き続き調整を進めていきます。どうやら、投稿の質が低い場合、モデレーターチームが投稿が頻繁になる前に介入しているようです。このクエリを使えば、誰かに対する私の感覚を検証でき、また、誰かがうまくスタートできていない時期を早期に把握できるようです。

「いいね!」 1