提取最后四个日期的SQL查询
我正在使用SQL Server 2012,并尝试在提取最后四个日期的SQL查询,sql,sql-server,Sql,Sql Server,我正在使用SQL Server 2012,并尝试在OrderDate列中为某些成员提取最近的4个订单日期。我不知道该如何为此编写代码。任何帮助都将不胜感激 应该是类似的: select top 4 o.OrderDate from Members m inner join Orders o on m.ID = o.MemberID where <your certain members criteria> order by o.OrderDate desc 选择前4个订单日期 m成
OrderDate
列中为某些成员提取最近的4个订单日期。我不知道该如何为此编写代码。任何帮助都将不胜感激 应该是类似的:
select top 4 o.OrderDate
from Members m
inner join Orders o
on m.ID = o.MemberID
where <your certain members criteria>
order by o.OrderDate desc
选择前4个订单日期
m成员
内部连接顺序
在m.ID=o.MemberID上
哪里
按o.OrderDate描述订购
按日期降序排列,并将行数限制为4行,如下所示:
select top 4 order_date from orders order by order_date desc
优化器将发现您有一个限制,并优化查询以避免对整个表进行排序。如果order\U date列被索引,查询优化器将使用index获得四个日期,而无需访问表本身。我会这样做(您没有提供表结构,所以这只是伪代码)
您还没有提供任何示例数据,或者确实没有提供任何可用于帮助您的数据。我想应该是的,我之所以这么说是因为这只是一个基于猜测表结构的近似答案。