sql >> Databasteknik >  >> RDS >> Mysql

MYSQL:Använder GROUP BY med bokstavliga strängar

Du kanske vill ha något som:

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

Den viktigaste idén att förstå är att ett uttryck som fullName LIKE foo AND fullName LIKE bar är att hela uttrycket nödvändigtvis kommer att utvärderas till antingen TRUE eller FALSE , så du kan bara få ut två totala grupper ur det.

Använda en IF uttryck för att returnera en av flera olika värden låter dig få fler grupper.

Tänk på att detta inte kommer att gå speciellt snabbt. Om du har en mycket stor datauppsättning bör du utforska andra sätt att lagra data som inte kräver LIKE jämförelser för att göra grupperingen.



  1. Skillnaden mellan NULL och Blank Value i Mysql

  2. Det går inte att hämta data från mysql-databasen till ListView i min Android-applikation

  3. Hur man exporterar frågeresultat till en .txt-fil när du använder SQLcl (Oracle)

  4. Uppdatera en MySQL-tabell med värden från en annan