我需要从同一表中提取上部和下部的最新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
说明:我从第二个查询中排除第一个查询的结果。