我对SQL很陌生。我的马数据库中有两列 - 日期和马名。日期是赛马比赛的日期和马名。我想要第3列来计算马匹之前和之间的日期差异。
非常感谢任何帮助。
答案 0 :(得分:0)
日期函数在SQL中有所不同。一种常见的方法就是减法。
要获取上一个日期,您可以使用ANSI标准lag()
函数(并非在所有数据库中都可用)。
查询看起来像:
select h.*,
(racedate - lag(racedate) over (partition by horse order by racedate) as daysSinceLastRace
from horses h;
第一场比赛将是NULL
。
(注意:有些数据库使用“datediff()”函数来表示天数的差异,而不是减法。)