你们社群中最常用的反应是哪些?

继续讨论 Meta 上的反应

我很好奇我在 一个我兼职工作的网站 上是如何使用反应的。这是一个关于大学录取的论坛,所以会有关于学生被梦想学校录取/拒绝之类的内容。我们使用 :+1: 作为我们的“喜欢”表情符号,所以它比 :heart:(默认的“喜欢”)排名高。以下是我发现的内容:

反应 帖子 数量
:+1: 260494 720859
:100: 16116 25738
:heart: 13315 23523
:tada: 7538 22674
:rofl: 7200 15720
:mending_heart: 6341 26875
:bulb: 3854 4404
:astonished: 2795 4911
:smile: 2286 2881
:joy: 1758 2623
:sob: 1708 2360
:angry: 1613 3396
:wink: 336 352
:heavy_check_mark: 30 43

我通过查看 帖子中最常用的表情符号 创建了 最初的反应列表。我们根据 会员反馈 调整了列表。我喜欢 :heavy_check_mark:,但很早就清楚社区并不喜欢。所以我把它换成了别的东西。

如果您想了解您的网站与之相比如何,我使用的查询是:

select ':'||reaction_value||':' reaction,
       count(*) posts,
       coalesce(sum(reaction_users_count), sum(like_count)) count
from discourse_reactions_reactions drr
     join posts p on post_id = p.id
group by reaction_value
order by count(*) desc

有趣的事实: 我们很难弄清楚为什么 :gift: 表情符号在帖子中被如此频繁地使用。最终 我找到了罪魁祸首:robot:

10 个赞

让我们将此移至#community以获得更多关注。 :eyes:

尽管查询没有正确计算点赞数,或者至少没有计算我们所有的点赞数(可能是因为我们在过程中启用了反应),

reaction posts count
:heart: 52295 144915
:+1: 1167 1224
:100: 1101 1236

versus:

reaction_value count
:heart: 1371442
:100: 1236
:+1: 1224
FWIW 我一直在使用这个的一个小变体来生成我们的表格:
SELECT source.reaction_value,
       count
FROM

 (
 (

SELECT
    CASE WHEN post_action_type_id = 2 THEN 'heart' END AS reaction_value,
    COUNT(*) AS count
FROM post_actions
WHERE post_action_type_id = 2
  AND deleted_at IS NULL
GROUP BY 1

)
UNION ALL
(

SELECT
    reaction_value,
    SUM(reaction_users_count) AS count
FROM discourse_reactions_reactions
WHERE reaction_value <> 'heart'
GROUP BY 1

)
) AS source

GROUP BY 1,2
ORDER BY 2 DESC

报告部分也有库存中的一个用于交叉检查(但表格不容易复制粘贴 :slight_smile:) - /admin/reports/reactions

4 个赞

啊。UNION ALL 是执行此查询的正确方法,因为您正在计算两件截然不同的事情。我的查询需要一个外部连接来覆盖在 discourse_reactions_reactions 中没有条目的帖子。添加该连接导致我的查询超时,因此我无法验证这是否解决了问题。无论如何,UNION 都是这里的正确答案。

不过,我有点好奇 post_actions 是否会重复计算点赞。它是否考虑了用户点赞帖子然后移除或更改该反应的情况?

我需要在查询中将“heart”更改为“+1”,因为我们在 College Confidential 使用了 :+1: 作为我们的点赞。这是我从该查询得到的结果:

reaction count
:+1: 2089798
:mending_heart: 28167
:100: 27070
:heart: 24676
:tada: 24055
:rofl: 16778
:astonished: 5325
:bulb: 4590
:angry: 3547
:smile: 3078
:joy: 2623
:sob: 2443
:wink: 369
:heavy_check_mark: 43
2 个赞

这说得有道理。让我回去添加一个 AND deleted_at IS NULL

1 个赞