我有一个Play表,它拥有列和时钟。我想要归还所有拥有“离开”的比赛,并计算上一场比赛和所选比赛之间经过的时间。问题是,使用我的查询,滞后函数计算一组只有“离开”拥有而不是一组所有游戏的游戏的经过时间。
select (lag(clock, 1) over () - clock) from plays where possession = 'away';
如何使滞后(时钟,1)参考所有播放的集合,而不仅仅是拥有='离开'的那些?
答案 0 :(得分:1)
我想你只想要一个子查询:
select p.*
from (select p.*, (lag(clock, 1) over () - clock) as diff
from plays p
) p
where possession = 'away';