我有一个查询在我要检索最古老的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 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top