SQL选择行取决于上次选择的时间

时间:2012-05-14 08:24:53

标签: sql sql-server sql-server-2005 select time

我有一张看起来像这样的表

id   |   refreshTime   |   lastRanAt             |   otherFeilds
1    |   60            |   2012-05-14 14:25:08   |   somthing
2    |   30            |   2012-05-14 15:25:08   |   something else
3    |   20            |   2012-05-03 16:25:08   |   foo

我想返回'lastRanAt'日期时间小于currentTime减去refreshTime(refreshTime以分钟为单位)的结果

这可以在一个查询中完成吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

这样的东西?

select * 
from Table t
where lastRanAt < dateadd(mi, (t.refreshTime * -1), getdate())

SQL Fiddle

答案 1 :(得分:0)

编辑:

select * 
from your_table
where lastRanAt < dateadd(mi, refreshTime * -1 , getdate())