用于提取最后四个日期的SQL查询

时间:2016-10-24 19:40:11

标签: sql sql-server

我正在使用SQL Server 2012并尝试在OrderDate列中为某些成员提取最近4个订单日期。我不知道如何为此编码。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

按日期降序排序,并将行数限制为4,如下所示:

clickedRowIds

优化工具会发现您有限制,并优化您的查询以避免整理整个表格。如果order_date列被编入索引,查询优化器将使用索引来获取四个日期而无需转到表本身。

答案 1 :(得分:0)

它应该与此类似:

FooA

答案 2 :(得分:0)

我会做这样的事情(你没有提供表结构,所以这只是伪代码)。

  1. 创建空表TempOrders以存储每个成员的最高订单
  2. 打开光标以浏览所有成员ID
  3. 对于每个@MemberId插入TempOrders,从订单中选择前4 * *其中MemberId = @MemberId order by OrderDate desc
  4. 您的结果位于TempOrders表