php - 如何排除最后3个id并从mysql php数据库中提取内容?

标签 php mysql database

我需要从同一个表中提取上半部分的最新 3 篇帖子(带内容)和下半部分的其余部分(仅标题)。我在上半部分摘录了三篇最新的帖子。但在下部,上部的标题也重复。我不需要显示上部的标题。我的代码是这样的:

上部代码

    $fetch_sql = "SELECT fld_news_id, fld_news_name, fld_news_details FROM table_news ORDER BY fld_news_id DESC LIMIT 3";
    $fetch_result= mysql_query($fetch_sql) or die(mysql_error()); 
    while($fetch_row=mysql_fetch_array($fetch_result))
    {
    $fld_news_id = $fetch_row['fld_news_id'];
    $fld_news_name = $fetch_row['fld_news_name'];
    $fld_news_details = $fetch_row['fld_news_details'];
    echo"<h3>  $fld_news_name </h3>";
    echo"$fld_news_details";
    }

下部代码

    $fetch_sql = "SELECT fld_news_id, fld_news_name FROM table_news ORDER BY fld_news_id DESC LIMIT 10";
    $fetch_result= mysql_query($fetch_sql) or die(mysql_error()); 
    while($fetch_row=mysql_fetch_array($fetch_result))
    {
    $fld_news_id = $fetch_row['fld_news_id'];
    $fld_news_name = $fetch_row['fld_news_name'];
    echo"<h3>  $fld_news_name </h3>";
    }

最佳答案

在下部使用以下查询:

SELECT fld_news_id, 
       fld_news_name 
FROM   table_news 
WHERE  fld_new_id NOT IN(SELECT * 
                         FROM   (SELECT fld_news_id 
                                 FROM   table_news 
                                 LIMIT  3) AS t) 
ORDER  BY fld_news_id DESC 
LIMIT  10 

Description: I am excluding result of first query from second.

关于php - 如何排除最后3个id并从mysql php数据库中提取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32353963/

相关文章:

php - 安装 Sphinx 时出错需要 libmysqlclient.so.16(libmysqlclient_16)(64 位)

MySQL,ORDER BY 插入顺序,无排序列

MySQL多进程写入

mysql - Laravel数据库结构 'apply'

mysql - nginx 上的 PHP-FPM 无法连接到外部 MySQL

php - 7.3 与 7.2 上的 finfo 相当慢

php - 更好的错误处理方式?

MySQL show create table 显示带有 KEY 的额外条目

php - 如何更改 Yii -> ECSVExport 的标题

java - 如何找到我的 MySQL URL、主机、端口和用户名?