我无法形成执行以下操作的 MySQL 查询:
从线程表中选择所有线程ID,按最新帖子(最大时间戳)的时间戳(按降序排列)排序,其中threadID等于每个线程的threadID。所以基本上我想通过线程并让MySQL检查数据库,比如说线程0。然后它检查所有threadID为0的帖子,并根据thread0内帖子的最大时间戳对thread0进行排序。然后它对线程 1、线程 2 等重复此操作并相应地对它们进行排序。
这甚至可能吗?就是为了创造论坛的“bump-system”效果,最近活跃的帖子不断地被顶到列表的顶部,直到帖子消失,然后下降到底部。我曾经使用不同的实现,我将 lastActivity 时间戳存储在线程表中,并在将新帖子提交到线程时更新它,但是这个查询会使事情变得更有效率。
非常感谢!这里有两个相关的表:线程和帖子。这些帖子有一个 threadID 字段,用于存储它所属的线程的 ID,它还有一个时间戳字段。Threads 有一个字段 threadID 对应于帖子的 threadID。