sql >> Base de Datos >  >> RDS >> Mysql

MYSQL:uso de GROUP BY con literales de cadena

Tal vez quieras algo como:

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

La idea clave para entender es que una expresión como fullName LIKE foo AND fullName LIKE bar es que la expresión completa necesariamente se evaluará como TRUE o FALSE , por lo que solo puede obtener dos grupos en total de eso.

Usando un IF expresión para devolver uno de varios diferentes valores le permitirán obtener más grupos.

Tenga en cuenta que esto no será particularmente rápido. Si tiene un conjunto de datos muy grande, debe explorar otras formas de almacenar los datos que no requerirán LIKE comparaciones para hacer la agrupación.