mysql - MYSQL查询:获取按数据分组的最新日期
问题描述
我有一张桌子可以聊天。
消息 I senderID I recipentID I date
我想通过对话查询最新消息组。(例如,如果'senderID = 1 和 recipentID = 2'与'senderID = 2 和 recipentID = 1 '是相同的对话)
解决方案
您可以使用in
. MySQL 支持带有 的元组in
,所以这里有一种方法:
select c.*
from chats c
where (least(senderID, recipentID), greatest(senderID, recipentID), date) in
(select least(senderID, recipentID), greatest(senderID, recipentID), max(date)
from chats c
group by least(senderID, recipentID), greatest(senderID, recipentID)
);
推荐阅读
- ios - 如何实现 Apple Wallet 应用程序界面?
- javascript - 我试图创建一个包含三个 Javascript 对象的网页
- powershell - Powershell:将多行字符串通过管道传递到解析路径的 -LiteralPath
- python - 在 Python 3 中异步等待方法完成
- vb.net - 在类外调用函数
- c# - 由于不同的上下文缺少 PK,Entity Framework Core 迁移失败
- javascript - 使用复选框显示/隐藏多个
我想用一个按钮在一页上显示和隐藏几个表格。不幸的是,我的脚本一次只能显示和隐藏一个表格。
我有一个包含很多查询的页面。表格中还有文本字段。为了更好地概览,带有文本字段的表格应仅在选中复选框时显示。不应在开始时单击该复选框。