首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GROUP_CONCAT上的ORDER BY datetime不工作

GROUP_CONCAT上的ORDER BY datetime不工作
EN

Stack Overflow用户
提问于 2016-07-30 16:10:10
回答 1查看 504关注 0票数 0

我在MySQL中创建了一个包含以下列的表:

代码语言:javascript
运行
复制
id - from_id - to_id - datetime - message

在日期时间列中,日期时间存储如下:

代码语言:javascript
运行
复制
2016-07-28 17:36:24
2016-07-28 17:39:24
2016-07-28 17:41:15

我喜欢在to_id上使用GROUP_CONCAT来存储来自from_id的所有消息,并且只显示一条消息(最新的)。我的问题是:

代码语言:javascript
运行
复制
SELECT id, from_id, time_sent, message, GROUP_CONCAT(to_id order BY 
time_sent DESC) FROM messages WHERE to_id = '1' GROUP BY from_id

我通过from_id得到了所有的结果,但消息是第一条。似乎没有应用order BY time_sent DESC

我已经尝试了order BY UNIX_TIMESTAMP(time_sent) DESC,尝试在查询的末尾放置order by。什么都不管用。我希望最新的消息由from_id显示。

EN

Stack Overflow用户

发布于 2016-07-30 19:33:55

代码语言:javascript
运行
复制
SELECT id,
       from_id,
       time_sent,
       message,
       GROUP_CONCAT(to_id)
FROM
  (SELECT *
   FROM messages
   WHERE to_id = '1'
   ORDER BY time_sent DESC) AS test
GROUP BY from_id
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38671819

复制
相关文章

相似问题

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