搜索用户已解决话题数

我认为如果你使用 group_users,你只需要两个表。也许是这样的:

-- [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 更用户友好时,我添加了第三个。但可以用两个来完成。 :slightly_smiling_face:

3 个赞