ユーザーごとの解決済みトピック数の検索

皆さん、こんにちは。

データエクスプローラーでクエリを作成したいのですが、全くの初心者なのでどこから手をつけていいかわかりません。

以下のクエリを実行したいです。
指定したグループに属していない人が解決策としてマークした投稿があるトピックの数を、開始日と終了日で返します。

これに類似したクエリが見当たらなかったので、もし見落としていたら申し訳ありません。ヒントやアドバイスをいただけると幸いです。

よろしくお願いします。

Lju

こんにちは、ようこそ @lju :slight_smile:

このトピックには、いくつか例が含まれていますので、参考にしてください - How to get number of solutions per users using Data Explorer?

JammyDodgerさん、こんにちは。

ありがとうございます。参考になり、いろいろなフィールドについて理解できたと思います :slight_smile:

以前データアーキテクトをしていたので、参照できるようなデータモデルがあれば夢のようです。それとなく匂わせています

よろしく、

Lju

group_users を使用すれば2つでできると思います。例えば、以下のようなクエリで可能です。

-- [params]
-- string :group_name = staff
-- date :date_from = 01/04/2022
-- date :date_to = 01/05/2022


SELECT
gu.group_id,
ua.user_id,
COUNT(1) AS solved_count
FROM user_actions ua
JOIN group_users gu on ua.user_id = gu.user_id
WHERE ua.action_type = 15
AND gu.group_id = (SELECT id FROM groups WHERE name = :group_name)
AND ua.created_at::date BETWEEN :date_from::date AND :date_to::date
GROUP BY gu.group_id, ua.user_id
ORDER BY solved_count DESC

(ちなみに group_name は大文字と小文字を区別します)


更新: 後から気づきましたが、グループ検索を group_id ではなく、よりユーザーフレンドリーにするためにグループ検索を追加した際に3つになってしまいました。しかし、2つで実現することは 可能 です。:slightly_smiling_face: