gpt4 book ai didi

mysql - SQL GROUP BY 选择

转载 作者:行者123 更新时间:2023-11-29 01:12:00 25 4
gpt4 key购买 nike

这是我的代码:

mysql_query("SELECT * FROM messages WHERE to_user_id = '$user_id' GROUP BY from_user_id ORDER BY read,sent_date DESC")

这是我的表结构

enter image description here

我使用 GROUPY BY from_user_id 语句来简要显示“对话”列表,而不是每条消息。像这样

enter image description here

但是,正如您在图片中看到的那样,前两个是错误的方式,第一个说“1 周前”,下面的说“2 天前”。这些顺序错误的原因是 GROUP BY from_user_id 语句。因为它将来自该用户的所有消息分组,并且不会有最近的时间。

所以我的问题是:

我如何 GROUP BY from_user_id 按最近的记录?

最佳答案

您不能SELECT 未在GROUP BY 中列出的列,否则allowed functions .这是 how GROUP BY works .

虽然大多数其他 SQL 风格在这样的查询上会失败,但 MySQL 不会。相反,它提供任意结果 - 您所看到的。

您可以通过几种不同的方式解决这个问题。例如:

  • SELECT 在单独查询中使用 GROUP BY 的最新用户对话的 id
  • 通过子选择 idsJOIN ids 集在一个查询中完成所有操作。

关于mysql - SQL GROUP BY 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com