sql >> Database >  >> RDS >> Mysql

MYSQL:GROUP BY gebruiken met letterlijke tekenreeksen

Misschien wil je iets als:

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

Het belangrijkste idee om te begrijpen is dat een uitdrukking als fullName LIKE foo AND fullName LIKE bar is dat de gehele uitdrukking noodzakelijkerwijs zal resulteren in TRUE of FALSE , dus je kunt er maar twee totale groepen uit halen.

Een IF gebruiken expressie om een ​​van meerdere . terug te geven met verschillende waarden kun je meer groepen krijgen.

Houd er rekening mee dat dit niet bijzonder snel zal zijn. Als u een zeer grote dataset heeft, moet u andere manieren onderzoeken om de gegevens op te slaan waarvoor LIKE niet nodig is. vergelijkingen om de groepering te doen.



  1. SQL Server Error 110:Er zijn minder kolommen in de INSERT-instructie dan de waarden die zijn opgegeven in de VALUES-clausule.

  2. 10 redenen waarom uw bedrijf Microsoft Access nodig heeft

  3. wat zijn de veranderingen in mysql 8 resultaat rowset case?

  4. Moet ik één grote SQL Select-instructie gebruiken of meerdere kleine?