gpt4 book ai didi

php - 用于在一张表中显示和排序消息及其回复的 SQL

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

我为正在开发的 CMS 编写了一个简单的消息系统,但很难找到获取所有消息及其按最新顺序排列的回复(消息或回复)的最佳方法。

我有一个名为“messages”的表,其中包含以下字段:*id、事件[1,0]、主题、消息、日期时间、user_from、user_to、reply_id*

一切都很简单,主级别消息的 *reply_id* 为空,并包含回复的父 id。我不知道如何编写 SQL 来根据他们自己和他们的回复以 datetime DESC 顺序获取所有主要级别的消息。我确信这是通过某种 UNION 完成的,但我缺乏 SQL 技能。如果相同的 SELECT 可以给出每个主级别消息中的回复计数,那就太棒了!

任何帮助将不胜感激!

最佳答案

已经很晚了,我很累,但我想你可以尝试这样的事情:

SELECT main.*, COUNT(reply.id) AS cnt_replies, MAX(reply.datetime) AS max_datetime
FROM posts AS main
LEFT JOIN posts AS reply
ON main.id = reply.reply_id
GROUP BY main.id
HAVING main.reply_id IS NULL
ORDER BY max_datetime DESC

编辑:固定查询
EDIT2:现在包含没有任何回复的消息

关于php - 用于在一张表中显示和排序消息及其回复的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5400810/

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