デフォルトのバッジクエリからの続きです。
10回のウィキ編集(全投稿対象)でシルバーバッジ、100回のウィキ編集でゴールドバッジを作成しようとしていますが、私やフォーラムヘルパーも進展がありません。
何か提案はありますか?
デフォルトのバッジクエリからの続きです。
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
(通常の「削除されたトピックや投稿を含めない」は含めていません。古いウィキの編集はカウントされるべきだからです。バックフィルも追加していませんが、これは「毎日更新」がトリガーになると思いますか?)
素晴らしい!ウィキ投稿100件の編集、それともウィキ投稿100件の編集ですか?
ウィキの投稿を100回修正したことになります。つまり、100回(または101回)編集すると、バッジが付与されます。
さらに検討した結果(そしてバートとの軽い話し合いの結果
)、この件ではROW_NUMBERの方が適切だと考えられます。上記のクエリを編集します。![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.