gpt4 book ai didi

mysql - 需要 MySQL 查询消息功能,首先显示最新消息(发送或接收),按用户分组

转载 作者:行者123 更新时间:2023-11-30 23:37:21 25 4
gpt4 key购买 nike

我正在尝试为 PHP/MySQL 中的消息传递系统制作对话概述页面。基本上,它看起来像 iPhone 的文本/短信概览页面。按您发送或接收消息的其他用户分组的消息。它应该首先显示带有最新消息(发送或接收)的对话(降序)

messages table

id | sender_id | receiver_id | datetime | message

最佳答案

棘手的问题。尝试以下解决方案

SELECT id,sender_id,receiver_id,
CASE WHEN sender_id >= receiver_id THEN
CONCAT(CAST(sender_id AS CHAR),'|', CAST(receiver_id AS CHAR))
ELSE
CONCAT(CAST(receiver_id AS CHAR),'|' CAST(sender_id AS CHAR))
END AS participants ,
`datetime`,message from messages
ORDER BY participants,`datetime`

这样你就有了一个额外的计算字段来表示 sender_id-receiver_id 关系,你需要两者的组合是一个实体。按计算字段排序在某些时候可能会变慢。您可能需要考虑在表中创建一个实际的额外字段来存储参与者信息。

关于mysql - 需要 MySQL 查询消息功能,首先显示最新消息(发送或接收),按用户分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com