トピック全体で10回と100回のWiki編集に対するバッジ

デフォルトのバッジクエリからの続きです。

10回のウィキ編集(全投稿対象)でシルバーバッジ、100回のウィキ編集でゴールドバッジを作成しようとしていますが、私やフォーラムヘルパーも進展がありません。

何か提案はありますか?

MIN/MAX の問題、つまりバッジを「途中で」取り込む際に誤った granted_at 日付を割り当てる問題を回避するために、この種のフォーマットを試しています(バッジが導入される前にすでに基準を満たしている人がいない場合に、よりうまく機能する傾向があります)。

おそらくこのようなものになるでしょう。

SELECT
    user_id,
    created_at granted_at
FROM (
    SELECT
        pr.user_id,
        pr.created_at,
        ROW_NUMBER() OVER (PARTITION BY pr.user_id ORDER BY pr.created_at) as row_number
    FROM post_revisions pr
    INNER JOIN badge_posts p ON p.id = pr.post_id
    WHERE p.wiki = TRUE
      AND pr.hidden = FALSE
      AND pr.user_id > 0
) AS revisions
WHERE row_number = 100

(通常の「削除されたトピックや投稿を含めない」は含めていません。古いウィキの編集はカウントされるべきだからです。バックフィルも追加していませんが、これは「毎日更新」がトリガーになると思いますか?)

「いいね!」 2

素晴らしい!ウィキ投稿100件の編集、それともウィキ投稿100件の編集ですか?

ウィキの投稿を100回修正したことになります。つまり、100回(または101回)編集すると、バッジが付与されます。

「いいね!」 2

さらに検討した結果(そしてバートとの軽い話し合いの結果 :slight_smile:)、この件ではROW_NUMBERの方が適切だと考えられます。上記のクエリを編集します。:+1:

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.