首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:包含描述订单问题的多个分组依据

问MySQL:包含描述订单问题的多个分组依据
EN

Stack Overflow用户
提问于 2016-09-06 14:55:08
回答 1查看 524关注 0票数 0

我已经访问了Single Group的MySQL order by before group by,它工作得很好。我有2个group by列的问题。

我有一个名为"messages“的表格。消息是用户帖子的评论

代码语言:javascript
复制
id | posts_id | from_user_id | to_user_id | message_description | created_at
-----------------------------------------------------------------------------
1      1           1              2             test1             2016-09-06 10:00:00
2      1           1              2             test2             2016-09-06 11:00:00
3      1           4              2             test3             2016-09-06 09:00:00
4      1           4              2             test4             2016-09-06 15:00:00
5      2           1              2             test1             2016-09-06 10:00:00
6      2           1              2             test2             2016-09-06 11:00:00
7      2           4              2             test3             2016-09-06 09:00:00
8      2           4              2             test4             2016-09-06 15:00:00

查询的结果输出应为

代码语言:javascript
复制
id | posts_id | from_user_id | to_user_id | message_description | created_at
-----------------------------------------------------------------------------
2      1           1              2             test2             2016-09-06 11:00:00
4      1           4              2             test4             2016-09-06 15:00:00
6      2           1              2             test2             2016-09-06 11:00:00
8      2           4              2             test4             2016-09-06 15:00:00

我试图检索的帖子明智和用户明智他们的最新消息。

我在下面进行了尝试,但它没有按正确的顺序给出结果。

代码语言:javascript
复制
SELECT *
FROM messages
WHERE to_user_id = '2'
GROUP BY posts_id DESC,
         from_user_id
ORDER BY id DESC
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 17:10:45

这个问题和在SO上发布的成千上万的其他问题是一样的。手册中讨论的最佳解决方案是不相关的子查询,例如:

代码语言:javascript
复制
SELECT x.* 
  FROM my_table x 
  JOIN 
     ( SELECT MAX(id) id 
         FROM my_table 
        WHERE to_user_id = 2 -- OPTIONAL
        GROUP 
           BY from_user_id
     ) y 
    ON y.id = x.id;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39342424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档