我正在寻找下一个最低日期,大于今天的select语句。 我将数据简化为例子。SQL Server 2005下一个最低日期大于今天
实施例的数据:table_1
name order_no order_date Due_date Run_no
customer1 abc1 01/04/2015 02/05/2015 1
customer2 def2 02/04/2015 02/05/2015 2
customer3 ghi1 03/04/2015 02/05/2015 3
customer2 def3 04/04/2015 04/05/2015 2
customer2 def4 05/04/2015 05/05/2015 2
和示例查询:
select
name,
order_no,
order_date,
Due_date,
Run_no
from
table_1
where
run_no = '2'
group by
name, order_no, Order_date, Due_date, Run_no
having
MIN(due_date) > DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
因此,如果今天是2015年1月5日我期望的结果是:
name order_no order_date Due_date Run_no
customer2 def2 02/04/2015 02/05/2015 2
但我实际得到的是:
name order_no order_date Due_date Run_no
customer2 def2 02/04/2015 02/05/2015 2
customer2 def3 04/04/2015 04/05/2015 2
customer2 def4 05/04/2015 05/05/2015 2
这一定与Some条款有关,不是吗? 感谢
我建议使用ROW_NUMBER()排名功能。 –