假设您有MySQL Database Schema
afrom_id
和 a to_id
,它们都代表数字用户ID
的。上下文是类似于聊天的基于文本的对话。
您如何选择query
与他/她进行过对话的所有其他用户database
之间交换的所有最后消息的列表?user 1
假设您有MySQL Database Schema
afrom_id
和 a to_id
,它们都代表数字用户ID
的。上下文是类似于聊天的基于文本的对话。
您如何选择query
与他/她进行过对话的所有其他用户database
之间交换的所有最后消息的列表?user 1
SELECT * FROM TABLENAME WHERE from_id = USERID1 OR to_id = USERID1
您可能希望将所需的列代替“*”以获得更好的性能。
如果您有一个日期时间字段,那么您也可以按该字段进行搜索。
如果您需要 1 个用户:
SELECT * FROM TABLENAME
WHERE from_id = USERID1 OR to_id = USERID1
ORDER BY `timestamp` DESC
LIMIT 1
这里timestamp
- 你的时间戳字段。
对于所有用户:
select text, id, ts
from (select text, from_id as id,ts from chat union select text, to_id as id,ts from chat) T
group by id
having ts=max(ts)
这里 ts - 时间戳