# Badge SQLについて少し助けが必要です

**URL:** <https://meta.discourse.org/t/need-some-help-with-a-bit-of-badge-sql-please/212430>\
**Category:** Product Support\
**Created:** [2021 年 12 月 17 日午後 12:00 UTC](https://meta.discourse.org/t/need-some-help-with-a-bit-of-badge-sql-please/212430 "2021-12-17T12:00:35Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2021 年 12 月 17 日午後 2:31 UTC](https://meta.discourse.org/t/need-some-help-with-a-bit-of-badge-sql-please/212430/5 "2021-12-17T14:31:54Z")

</div>

それは、すでに4つすべてに該当するユーザーに対して実行しているからだと思います。もし「新規」で導入された場合、ユーザーがしきい値を超えた時点で、最新のトピックの日付が自動的に付与されると思います。

「レガシー」実行の場合、LIMITを追加する必要があるかもしれません。

**編集:** 最初の（例として）25件の適格レコードをユーザーごとに1つのクエリで返すことは、私の現在のスキルでは難しいです。🙂

しかし、複数のバッジに該当するユーザーが何人いるかによっては、データエクスプローラーのクエリ情報を使用して手動でレガシーバッジを付与し、その後、上記の自動バッジクエリを実行することで、それらが付与された後に適切な投稿に対して正しいバッジが付与されるはずです。

以下のようなものです。

```plaintext
-- [params]
-- int :user_id = 1
-- int :limit = 50

SELECT bp.user_id, bp.created_at, bp.id as post_id
FROM badge_posts bp
JOIN topics t ON t.id = bp.topic_id
WHERE bp.user_id = :user_id
AND t.category_id = 17
AND bp.post_number = 1
AND bp.raw LIKE '%dronescene.co.uk%'
ORDER BY bp.created_at ASC
LIMIT :limit

```

タイプミスがありましたら申し訳ありません。🙂

（ブロンズはMINバージョンで、プラチナはMAXバージョンで可能なので、10と25のものだけです）

---

_[View the full topic](https://meta.discourse.org/t/need-some-help-with-a-bit-of-badge-sql-please/212430)._
