【问题标题】:How to display article from different SQL tables by desc order?如何按 desc 顺序显示来自不同 SQL 表的文章?
【发布时间】:2023-02-02 17:45:23
【问题描述】:

我是 MySQL 数据库的新生。我正在尝试制作一个基于 php+MySQL 的公众人物传记 Web 应用程序项目供我个人使用。我的数据库中有两个名为“传记”和“八卦”的文章表,名为“个人资料”。我想通过在 php 中使用 while 循环在我的前端网页上按 desc 顺序显示我发布的最新文章。让我们看一个例子:假设我先发布贾斯汀比伯的传记,然后发布汤姆克鲁斯的传记。它必须首先显示 tom cruise。如果我添加有关 Justin Bieber 的新闻,那么新闻必须排在第一位,然后是 Tom cruise bio 和 Justin bio。如果我再添加一个关于 Selena Gomez 的新闻,那么它必须首先显示 Selena Gomez 新闻,然后是 Justin 新闻、tom cruise bio 和 Justin Bieber bio。这意味着最新的文章必须是第一个。但表是不同的。是否可以?如果是那么sql命令是什么?

我期待正确的 SQL 查询命令。

$查询=“”;

【问题讨论】:

标签: php mysql database backend


【解决方案1】:

可以按日期降序显示来自不同表格的文章。您可以使用 UNION 运算符将多个 SELECT 语句的结果组合成一个结果集,然后按日期降序对结果集进行排序。

下面是一个 SQL 查询示例,它结合了两个 SELECT 语句的结果,并按日期降序排列结果集:

$query = "
(SELECT title, date_created, 'biography' AS article_type
FROM biography)
UNION
(SELECT title, date_created, 'gossip' AS article_type
FROM gossip)
ORDER BY date_created DESC
";

在此查询中,第一个 SELECT 语句从 biography 表中检索 title 和 date_created 列,并添加值为“biography”的 article_type 列。第二个 SELECT 语句从 gossip 表中检索相同的信息,并添加值为“gossip”的 article_type 列。 UNION 运算符将两个 SELECT 语句的结果组合成一个结果集。最后,ORDER BY 子句根据 date_created 对结果集进行降序排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多