SQL选择底部记录

标签 sql sql-server tsql

我有一个查询,希望检索最旧的 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/

相关文章:

c# - 在SQL Server中存储空值

sql-server - 具有 IF 逻辑的 T-SQL 不适用于临时表

sql - T-SQL : Calculating the Nth Percentile Value from column

php - 加入两个表以匹配整数以获得用户名

Php 选择 * 喜欢的地方

sql-server - 引用表是否应该包含数字 PK 标识列值 0?

sql-server - tsql 星期几

mysql - 插入忽略多列数据唯一

sql - Informix:选择空问题

sql - 将 string+ntext 转换为 nvarchar 错误