我试图通过对Message message = new Message("hello world", 1, 3, 3, 7);
meSocket.Send((byte[])message);
和from_user_id
进行分组来获取消息列表,使它们看起来像下面的屏幕截图。只是,我的问题是他们似乎没有按最近的顺序排序。
以下是截图,展示了它们的外观:
查询: 选择
to_user_id
表格结构:
答案 0 :(得分:2)
您需要将日期值添加到查询中:
select concat(to_user_id, from_user_id) as group_by,
max(updated_at) as max_updated_at
from personal_messages pm
where (to_user_id = 1265) or (from_user_id = 1265)
group by group_by
order by max_updated_at desc
日期值可以是created_at
或updated_at
,具体取决于您的实际需求。您必须使用像MAX
这样的聚合函数,因为这两个字段都不会出现在GROUP BY
子句中。
答案 1 :(得分:0)
查看答案MySQL "Group By" and "Order By"
问题是该群组对订单的要求是胜过order_by。没有100%的解决方案,但是这个链接会给你一些适合你的东西。