日期差异如果功能在SQL
日期函数在SQL中有所不同。一种常见的方法就是减法。
要获取上一个日期,可以使用ANSI标准lag()
函数(不适用于所有数据库)。
查询看起来是这样的:
select h.*,
(racedate - lag(racedate) over (partition by horse order by racedate) as daysSinceLastRace
from horses h;
这将是NULL
的第一场比赛。
(注:有些数据库在天使用“DATEDIFF()”函数的差异,而不是减法。)
非常感谢! – Zipping2010
谢谢。完美的作品。我如何计算在某种准备中的马匹运行?例如,如果马在90天内没有运行,它将会是0,然后下一轮运行的是1,然后是下一轮2,直到它再次发生咒语并且计数重置。干杯。 – Zipping2010
@ Zipping2010。 。 。如果您还有其他问题,请将其作为样品数据和预期结果的问题。 –
标记您的问题与您正在使用的数据库。 –