Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL:Verwenden von GROUP BY mit Zeichenfolgenliteralen

Vielleicht möchten Sie so etwas wie:

GROUP BY IF(fullName LIKE '%/testfolder/%', 1, IF(fullName LIKE '%/testfolder2/%', 2, 3))

Die Schlüsselidee zu verstehen ist, dass ein Ausdruck wie fullName LIKE foo AND fullName LIKE bar ist, dass der gesamte Ausdruck notwendigerweise entweder zu TRUE ausgewertet wird oder FALSE , also können Sie nur zwei Gruppen daraus machen.

Mit einem IF Ausdruck, um einen von mehreren zurückzugeben Mit anderen Werten erhalten Sie mehr Gruppen.

Beachten Sie, dass dies nicht besonders schnell sein wird. Wenn Sie über einen sehr großen Datensatz verfügen, sollten Sie nach anderen Möglichkeiten zum Speichern der Daten suchen, für die LIKE nicht erforderlich ist Vergleiche, um die Gruppierung durchzuführen.