次のスキーマを持つクリケット データベースがあります。
Bowl(BowlID, MatchID, Striker, Non-Striker, Bowler, Runs, OverNum)
- Stores info for every ball
Match(MatchID, Team1, Team2, Date)
- Stores all the matches
私は、試合の最後から 2 番目のボールの何パーセントが特定のラン数を記録するかを計算しようとしています。
最初に、各試合の最後から 2 番目のボールを取得する必要があります。どうすればいいのか本当にわかりません。OverNum 列にはボール番号が格納されるため、20 試合の場合、これは '0.1' から始まり、'19.6' まで上がります (彼らがイニングを最後まで続けたと仮定します)。
それは次のようなものでしょうか:
SELECT MatchID, MAX(OverNum)
FROM Bowl
WHERE OverNum
NOT IN (SELECT Max(OverNum) FROM Bowl)
GROUP BY MatchID
ボウル テーブル全体から 2 番目に高い OverNum ではなく、各試合の最後から 2 番目の値を取得するように頭を悩ませることはできません...