Ich habe eine Datenbank voller aller Arten von Aufzeichnungen über Baseball-Teams und ihre Spieler. Ich muss eine Abfrage schreiben, die die Namen von Spielern zeigt, die drei aufeinander folgende Jahre für die TeamID "MON" gespielt haben. Ich habe bereits eine Abfrage geschrieben, die mir die Tabelle unten zeigt, die die Jahre zeigt, die sie für dieses Team gespielt haben.SQL-Abfrage zu 3 aufeinanderfolgenden Jahren zwischen den Datensätzen
| NameFirst | NameLast | Jahr |
+ ----------- + --------- + ------- +
| Santo Alcala | 1977 |
| Santo Alcala | 1978 |
| Santo Alcala | 1979 |
| Scott | Aldred | 1993 |
Ich bin zu faul, um weitere Datensätze in der Tabelle einzugeben, aber dies sollte ausreichen, um die Situation zu verstehen. Die aktuelle Tabelle in meiner Datenbank enthält Tausende von Datensätzen. Also würde die Frage, die ich brauche, einen Rekord für Santo Alcala zurückgeben, da er drei aufeinander folgende Jahre für das MON-Team gespielt hat. Die obige Tabelle zeigt nur Spieler, die für MON gespielt haben. Ich habe bereits eine Abfrage geschrieben, die alle Spieler ausschließt, die für andere Teams als MON gespielt haben.
Die gewünschte Ausgabe der Abfrage wie sein ein Rekord wäre:
| NameFirst | NameLast |
+ -------------- + --------- +
| Santo Alcala |
Wenn ein Spieler mehr als 3 aufeinanderfolgende Jahre in der Mannschaft gespielt hat, würde er auch in den Ergebnissen angezeigt werden.
Mögliches Duplikat [Finding Reihen mit fortlaufender Erhöhung des Wert einer Spalte] (https://stackoverflow.com/questions/10354506/finding- Zeilen-mit-Konsekutiv-Erhöhung-in-den-Werten einer Spalte) – Minisha
Sie sind ähnliche Fragen, aber das scheint ein bisschen komplizierter, dass das Szenario meine Frage darstellt. – cheesebal35