# Ne renvoyer que les résultats pour l'utilisateur actuel

**URL:** <https://meta.discourse.org/t/only-return-results-for-the-current-user/304187>\
**Category:** Data & reporting\
**Created:** [Avril 16, 2024, 11:28 UTC](https://meta.discourse.org/t/only-return-results-for-the-current-user/304187 "2024-04-16T23:28:31Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)\
**Post date:** [Avril 16, 2024, 11:28 UTC](https://meta.discourse.org/t/only-return-results-for-the-current-user/304187/1 "2024-04-16T23:28:31Z")

</div>

J’essaie de créer une requête qui sera publique pour nos utilisateurs, mais je veux qu’elle ne retourne que les résultats de l’utilisateur actuel, pas ceux de tout le monde. Ci-dessous se trouve la requête privée pour les modérateurs qui retourne les statistiques de tous les utilisateurs. Je n’arrive pas à trouver un moyen de cibler uniquement l’utilisateur actuel. Merci !

```plaintext
-- [params]
-- string :interval = 1 month

SELECT
  u.username,
  COALESCE(t.created_topics, 0) AS created_topics,
  COALESCE(p.replies_to_others, 0) AS replies_to_others,
  COALESCE(ROUND(p.replies_to_others::numeric / NULLIF(t.created_topics, 0), 2), 0) AS ratio
FROM
  users u
  LEFT JOIN (
    SELECT
      user_id,
      COUNT(*) AS created_topics
    FROM
      topics
    WHERE
      created_at >= CURRENT_DATE - INTERVAL :interval
      AND category_id IN (
        SELECT id FROM categories WHERE parent_category_id = 87 OR id = 87
      )
    GROUP BY
      user_id
  ) t ON t.user_id = u.id
  LEFT JOIN (
    SELECT
      p.user_id,
      COUNT(DISTINCT p.topic_id) AS replies_to_others
    FROM
      posts p
      JOIN topics t ON p.topic_id = t.id
    WHERE
      p.post_number > 1
      AND p.user_id != t.user_id
      AND p.created_at >= CURRENT_DATE - INTERVAL :interval
      AND t.category_id IN (
        SELECT id FROM categories WHERE parent_category_id = 87 OR id = 87
      )
      AND LENGTH(p.raw) >= 100
      AND p.post_number = (
        SELECT MIN(p2.post_number)
        FROM posts p2
        WHERE p2.topic_id = p.topic_id
          AND p2.user_id = p.user_id
          AND p2.post_number > 1
      )
    GROUP BY
      p.user_id
  ) p ON p.user_id = u.id
WHERE
  t.created_topics > 0 OR p.replies_to_others > 0
ORDER BY
  ratio DESC

```

---

_[View the full topic](https://meta.discourse.org/t/only-return-results-for-the-current-user/304187)._
