これがSQLのみを使用して可能かどうかさえわかりませんが、ここに行きます...
1 つのテーブルにサッカーの結果のリストがあり、各行は試合であり、その試合のすべてのデータが含まれています。各試合を循環し、ホーム チームを取得し、最後の 6 試合をチェックし、指定された試合のみを表示します。チームは過去 6 試合の 50% 以上で 2 ゴール以上を決めました。
これまでのところ、私はそれを一緒にステッチする方法を知りません...
すべての試合のリストを作成し、ホーム チームのみを返します。
SELECT Date, Home
FROM [FDATA].[dbo].[Goals]
ORDER BY Date
そのチームの最後の 6 試合を取得する:
SELECT TOP 6 *
FROM [FDATA].[dbo].[Goals]
WHERE Home = 'home from first query' AND Date <= 'date from first query'
ORDER BY Date DESC
次に、返された 6 試合の 50% 以上でチームが 2 点以上のゴールを決めたかどうかを確認し、真の場合は最初のクエリから行を出力します。
SELECT *
FROM last query
WHERE HomeGoals >= 2
ORDER BY Date DESC
この質問の粗雑さをお詫びしますが、私は少し初心者です。