php - MySQL 查询以获取最新帖子 wrt 创建日期和回复日期
问题描述
我希望你们都身体健康。
我正在做一个像社交网站这样的项目。我有两个名为:posts和post_replies的表。
我想显示更新后的帖子。这里的更新帖子是指最近使用上述两个表格创建或最近回复的帖子。
我在下面显示两个表的结构:
表:帖子
ID、标题、added_on
表:post_replies
id、post_id、comment、added_on
(post_id是帖子中id的外键)
所以 ....
为了获取最近创建的帖子,我编写了以下查询:
SELECT id, title FROM posts ORDER BY added_on DESC
为了获取最近回复的帖子,我编写了以下查询:
SELECT id, comment FROM post_replies GROUP BY post_id ORDER BY added_on DESC
我的问题是,我如何结合上述查询以根据创建日期和添加评论的日期时间来获取最新帖子。就像社交网站一样,我们也看到了某人最近回复和最近创建的帖子。
请帮忙。
解决方案
我建议在 post 表中添加 1 个字段,例如 updated_on,因此当您在 updated_on 中创建与 added_on 相同的帖子时,现在当有人评论然后更新日期在更新时,更改您的查询,如:
SELECT id, title FROM posts ORDER BY updated_on DESC
推荐阅读
- php - 有没有办法在 php 中解决这个自动加载器功能问题?
- google-cloud-platform - 如何正确设置 Google Cloud Shell?
- ios - SWIFTUI Core Data 传递数字
- javascript - 如何使用 JavaScript 将 .csv 列表转换为选项列表?
- c - LDR 在 ARM 中的 uint8_t 变量上的行为?
- node.js - Material-UI 无法导入滑块
- android - 在 RecyclerView 中删除的最后一项应用程序崩溃
- c++ - 如何保存文件夹的视图
- javascript - .each() 不会推送重复的项目
- c# - 构造表达式树时出现未处理的 InvalidOperationException