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

MYSQL:Brug af GROUP BY med strenge bogstaver

Måske vil du have noget som:

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

Den vigtigste idé at forstå er, at et udtryk som fullName LIKE foo AND fullName LIKE bar er, at hele udtrykket nødvendigvis vil evalueres til enten TRUE eller FALSE , så du kan kun få to samlede grupper ud af det.

Brug af en IF udtryk for at returnere en af ​​flere forskellige værdier giver dig mulighed for at få flere grupper.

Husk, at dette ikke vil være særlig hurtigt. Hvis du har et meget stort datasæt, bør du undersøge andre måder at gemme data på, som ikke kræver LIKE sammenligninger for at udføre grupperingen.



  1. Kan ikke opdatere data fra MySQL-databasen

  2. SQL Hent hele rækken baseret på minimumværdien af ​​den beregnede kolonne

  3. Mistet forbindelsen til MySQL-serveren ved 'læsning af initial kommunikationspakke', systemfejl:0

  4. MySQL - Kan ikke oprette visning med SET variabel indeni