gpt4 book ai didi

php - Group by 避免 order by

转载 作者:行者123 更新时间:2023-11-29 16:30:02 24 4
gpt4 key购买 nike

我正在尝试按循环列出消息,主要作为 PDO 中的最后一条消息,但我在 sql 中也有一个 group by 命令,但它不起作用。我使用分组来避免页面中来自同一用户的多条消息。因此,用户应该看到消息为 DESC,但分组依据避免了排名。

消息应列为(示例):

conversation 1: last message - from
conversation 2: last message - from
conversation 3: last message - from

每个对话都应包含唯一的发件人姓名,并且包含新消息的对话应位于顶部 (DESC)

我的sql代码:

SELECT * 
FROM pm
WHERE pm_to={$session['id']}
GROUP BY pm_from
ORDER BY id DESC

pm_table结构是:

id         - int(11) auto_increment
pm_from - int(11)
pm_to - int(11)
pm_content - text

最佳答案

要选择每个用户发送给给定用户 ($session['id']) 的最后一条消息,您需要:

  1. 获取每个对话的最新id列表
  2. 获取完整的消息列表

我已经编写了一个 SQL 查询,谁应该执行它。

SELECT pm.* 
FROM pm
JOIN (SELECT MAX(id) AS id_pm
FROM pm
WHERE pm_to={$session['id']}
GROUP BY pm_from) DT1
ON DT1.id_pm = pm.id
ORDER BY id DESC

关于php - Group by 避免 order by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53999747/

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