Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL:Używanie GROUP BY z literałami ciągów

Być może chcesz coś takiego:

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

Kluczową ideą do zrozumienia jest to, że wyrażenie takie jak fullName LIKE foo AND fullName LIKE bar jest to, że całe wyrażenie będzie z konieczności ewaluowane jako TRUE lub FALSE , więc z tego można uzyskać tylko dwie grupy.

Korzystanie z IF wyrażenie zwracające jedno z kilku różne wartości pozwolą Ci uzyskać więcej grup.

Pamiętaj, że nie będzie to szczególnie szybkie. Jeśli masz bardzo duży zbiór danych, powinieneś zbadać inne sposoby przechowywania danych, które nie będą wymagać LIKE porównania do wykonania grupowania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Unia MySql SELECT dla różnych kolumn?

  2. Zamów używając polskich liter

  3. Zwracanie zestawu wyników

  4. Zaszczepianie SQLite RANDOM()

  5. Zapytanie z wieloma polubieniami