我在一张桌子上有一份足球比赛结果列表,每一行都是一场比赛,包含来自该比赛的所有数据,如主场(球队),主场球场,客场球队,客队(球队),我想在每场比赛中循环,获得主队,检查他们的最后6场比赛,并且只显示指定球队在过去6场比赛中至少有一场比赛中打入4球或以上的比赛。
我有以下代码,根据游戏日期创建一个表,按队名和数字划分每一行,然后再次遍历表格,只显示符合上述条件的游戏。
问题是我需要'Last6'表根据主查询中引用的游戏日期更新自己,这样我才能从该日期获得最后6个游戏。目前它只是从桌面最后一场比赛中获得最后6场比赛。
WITH Last6
AS (
SELECT Home
,HomeGoals
,ROW_NUMBER() OVER (
PARTITION BY Home ORDER BY Goals.DATE DESC
) GameNumber
FROM Goals
)
SELECT *
FROM Goals G
WHERE EXISTS (
SELECT NULL
FROM Last6
WHERE G.Home = Last6.Home
AND GameNumber <= 6
AND HomeGoals >= 4
)
有没有人知道如何做到这一点?