作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这张表“聊天”
id | id_user_1 | id_user_2
----------------------------
1 111 117
2 113 115
3 112 111
还有这个“消息”:
id | message | message_date | id_sender | id_chat
-------------------------------------------------
1 first xx/xx/xx 111 1
2 second xx/xx/xx 117 1
3 abc xx/xx/xx 113 2
4 first xx/xx/xx 112 3
5 second xx/xx/xx 111 3
我需要列出每个用户的最后一条消息,我知道还有其他类似的问题,但我找不到我在这里做错了什么;这是我的查询:(问题是我收到第一条消息,而不是每个用户的最后一条消息)
select t1.id, t2.message, t2.message_date
from chat as t1
join chat_messages as t2
where
(t1.id_user_1 = 111 or t1.id_user_2 = 111)
and
(t1.id = t2.id_chat)
group by t2.id_chat desc
此返回:
id | message | message_date |
------------------------------
3 first xx/xx/xx
1 first xx/xx/xx
什么时候应该是:
id | message | message_date |
------------------------------
3 second xx/xx/xx
1 second xx/xx/xx
一切看起来都很好,除了“desc”部分,它在连接之前起作用,但在连接之后不起作用。我的查询有什么问题?
最佳答案
不是最好的解决方案,但您可以尝试像这样的简单方法:
select * from (select t1.id, t2.message, t2.message_date
from chat as t1
join messages as t2 on t1.id=t2.id_chat
where
(t1.id_user_1 = 111 or t1.id_user_2 = 111)
and
(t1.id = t2.id_chat)
order by message desc) a
group by id
如果您有其他要求,它可能会完全改变
关于mysql - "desc"分组依据不适用于 join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005457/
我是一名优秀的程序员,十分优秀!