Abrufen von Daten, wenn Werte in einer durch Kommas getrennten Liste vorhanden sind (MySQL)
Problem:
Sie haben eine MySQL-Tabelle, in der eine der Spalten, NUMBERS genannt, durch Kommas getrennte Listen enthält Zahlen. Sie möchten feststellen, ob in der Spalte NUMBERS für bestimmte Zeilen bestimmte Zahlen vorhanden sind. Beispielsweise müssen Sie überprüfen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN für eine Zeile mit der UID 2 vorhanden sind.
Lösung:
Das können Sie Verwenden Sie den IN-Operator, um diese Prüfung durchzuführen. Mit dem IN-Operator können Sie eine Liste von Werten angeben und prüfen, ob ein bestimmter Wert mit einem der Werte in der Liste übereinstimmt. In diesem Fall können Sie mit dem IN-Operator prüfen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN für eine bestimmte Zeile vorhanden sind.
Eine Möglichkeit hierfür ist die Verwendung der folgenden Abfrage:
SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS);
Diese Abfrage gibt alle Zeilen aus der Tabelle zurück, in denen die Zahlen 3 und 15 beide in der Spalte NUMBERS vorhanden sind. In Ihrem Beispiel würde diese Abfrage die Zeile mit der UID 2 zurückgeben, da sie sowohl 3 als auch 15 in der Spalte NUMBERS enthält.
Eine andere Alternative ist die Verwendung der Funktion FIND_IN_SET(). Die Funktion FIND_IN_SET() benötigt zwei Argumente: einen Wert und eine durch Kommas getrennte Liste. Es gibt die Position des Werts in der Liste zurück, wenn er vorhanden ist, oder 0, wenn der Wert nicht vorhanden ist. Sie können diese Funktion verwenden, um zu überprüfen, ob eine bestimmte Zahl in der Spalte NUMBERS vorhanden ist, indem Sie die folgende Abfrage verwenden:
SELECT * FROM table WHERE FIND_IN_SET(3, NUMBERS) > 0 AND FIND_IN_SET(15, NUMBERS) > 0;
Diese Abfrage gibt das gleiche Ergebnis wie die vorherige Abfrage zurück, verwendet jedoch FIND_IN_SET( )-Funktion, um zu bestimmen, ob die Zahlen 3 und 15 in der Spalte ZAHLEN vorhanden sind.
Beide Methoden können verwendet werden, um zu überprüfen, ob bestimmte Zahlen in a vorhanden sind durch Kommas getrennte Liste in einer MySQL-Tabelle. Sie können die von Ihnen bevorzugte Methode verwenden.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob bestimmte Zahlen in einer durch Kommas getrennten Liste in MySQL vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!