【发布时间】:2022-09-26 16:49:01
【问题描述】:
我有一个聊天表和聊天反应表。每条聊天消息可以有很多反应,一个反应是一个文本,可以有很多。我正在尝试返回带有分组反应的消息以及使用特定反应的总次数。例如,
msg: hi with id 1 一共得到了三个反应。 1 LIKE AND 2 LOVES。我该如何退货?
这是我正在尝试的查询
SELECT c.id, c.msg, GROUP_CONCAT(cr.reaction) as reaction
FROM chats as c
LEFT JOIN chat_reactions as cr on c.id = cr.chat_id
GROUP BY c.id
我的结果看起来像这样。
[![在此处输入图像描述][1]][1]
如何添加带有反应的数字,或者我有更好和性能更好的选项? 请建议。
谢谢
-
我会查找条件聚合。假设您有少量反应类型,这应该是一个很好的解决方案。
-
你能添加一个例子吗
-
您是否需要一列中的输出(1 喜欢 2 爱)或者更确切地说是单独的列。条件聚合适用于单个列。
-
个人的,如果你能展示