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

Brug af regex med LIKE til at sortere alfabeter først og derefter symboler SQL

Prøv dette:

SELECT * 
FROM travels.destinations AS D
WHERE D.name LIKE '%act%' AND D.sold = 'N' AND D.active = '1'
ORDER BY CASE WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE 'act%' THEN 0
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act' THEN 1
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act%' THEN 2
              ELSE 3 
         END, 
         D.name 
LIMIT 10



  1. Naturlig sortering SQL ORDER BY

  2. Samtidige MySQL-indsættelser i samme tabel:hvordan?

  3. django.db.utils.OperationalError:(2026, 'SSL-forbindelsesfejl:SSL_CTX_set_tmp_dh mislykkedes')

  4. Relationelle vs ikke-relationelle databaser – Del 3