我有一个查询,希望检索最旧的 X 条记录。目前我的查询如下:
SELECT Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate DESC
我知道通常我会删除“DESC”关键字来切换记录的顺序,但在这种情况下,我仍然希望首先获取按最新项目排序的记录。
所以我想知道是否有任何方法可以执行此查询,以便我对最旧的 X 个项目进行排序,使最新的项目排在第一位。我还应该补充一点,我的数据库存在于 SQL Server 2005 上。
最佳答案
为什么不直接使用子查询?
SELECT T1.*
FROM
(SELECT TOP X Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate) T1
ORDER BY CreatedDate DESC
关于SQL选择底部记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60877/