2012-11-07 36 views
1

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

我在每个项目旁边都有一个“read more”的新闻列表。

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

我到目前为止有:

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

回答

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 
+0

大谢谢! – Woz

+0

不客气:)我也编辑并添加了第二个解决方案,看看你更喜欢什么 – fthiella

0

您可以构建类似的意思,但我个人也只是回落到两个查询;

SELECT * FROM news WHERE id=$id 

然后;

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

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

相关问题