我有一个查询,我想先输出所需的记录,然后结果集的其余部分。先搜索记录然后结果集的其余部分
我在每个项目旁边都有一个“read more”的新闻列表。
当用户点击“阅读更多”链接时,他们被带到新闻页面,我想要他们选择的新闻项目(现在只是说它的id = 1),然后我想要剩下的新闻项目之后按日期排序输出。
我到目前为止有:
"SELECT * FROM news ORDER BY(id, 1), newsdate DESC"
我有一个查询,我想先输出所需的记录,然后结果集的其余部分。先搜索记录然后结果集的其余部分
我在每个项目旁边都有一个“read more”的新闻列表。
当用户点击“阅读更多”链接时,他们被带到新闻页面,我想要他们选择的新闻项目(现在只是说它的id = 1),然后我想要剩下的新闻项目之后按日期排序输出。
我到目前为止有:
"SELECT * FROM news ORDER BY(id, 1), newsdate DESC"
也许你只需要一个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
您可以构建类似的意思,但我个人也只是回落到两个查询;
SELECT * FROM news WHERE id=$id
然后;
SELECT * FROM news WHERE id<>$id ORDER BY newsdate DESC
如果您需要单个结果集传递给您的视图,那么您可以连接这两个。
大谢谢! – Woz
不客气:)我也编辑并添加了第二个解决方案,看看你更喜欢什么 – fthiella