题
我有一个查询在我要检索最古老的X记录。在本我的查询是喜欢的东西如下:
SELECT Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate DESC
我知道通常我会删除'DESC'关键词开关的顺序的记录,但是在这个实例,我仍然想获得记录下令与最新的项目的第一个。
所以我想知道如果有任何手段进行这种查询这样的,我得到的最古老的X项目的排序,这样,最新的项目是第一次。我还要补充一点,我的数据库存在SQL服务器2005年。
解决方案
为什么不只使用一个子查询?
SELECT T1.*
FROM
(SELECT TOP X Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate) T1
ORDER BY CreatedDate DESC
其他提示
嵌入查询。你带顶部x当排序以上升顺序(即最古老的),然后重新排序,这些降序排列...
select *
from
(
SELECT top X Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate
) a
order by createddate desc
不隶属于 StackOverflow