Mysql
 sql >> Database >  >> RDS >> Mysql

MYSQL:utilizzo di GROUP BY con stringhe letterali

Forse vuoi qualcosa come:

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

L'idea chiave da capire è che un'espressione come fullName LIKE foo AND fullName LIKE bar è che l'intera espressione restituirà necessariamente TRUE o FALSE , quindi puoi ricavarne solo due gruppi totali.

Usando un IF espressione per restituire uno dei diversi valori diversi ti permetteranno di ottenere più gruppi.

Tieni presente che questo non sarà particolarmente veloce. Se disponi di un set di dati molto grande, dovresti esplorare altri modi per archiviare i dati che non richiedono LIKE confronti per fare il raggruppamento.