首先搜索记录然后搜索结果集的其余部分

时间:2012-11-07 11:40:45

标签: mysql

我有一个查询,我想先输出所需的记录,然后输出结果集的其余部分。

我有一个新闻项目列表,每个项目旁边都有“阅读更多”。

当用户点击“阅读更多”链接时,他们会被带到我想要他们选择的新闻项目的新闻页面(让我们现在说它的id = 1)然后我希望剩下的新闻项目是输出后按日期排序。

我到目前为止:

"SELECT * FROM news ORDER BY(id, 1), newsdate DESC"

2 个答案:

答案 0 :(得分:0)

你可能能够构建一些这样的东西,但我个人只会回到两个问题;

SELECT * FROM news WHERE id=$id

然后;

SELECT * FROM news WHERE id<>$id ORDER BY newsdate DESC

如果您需要将单个结果集传递给您的视图,那么您可以连接这两个结果集。

答案 1 :(得分:0)

也许你只需要一个UNION查询:

SELECT * FROM news WHERE id=1
UNION (SELECT * FROM news WHERE id<>1 ORDER BY newsdate DESC)

确保在()之间包含第二个查询。

或者您也可以使用这样的技巧:

SELECT * FROM news ORDER BY id=1 DESC, newsdate DESC