Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на регулярен израз с LIKE за сортиране първо на азбуки, след това на символи SQL

Опитайте това:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате phpMyAdmin в собствено приложение

  2. Custom Query Pagination Cakephp

  3. Показване на най-близкия резултат до текущата дата и час (MySQL и PHP)

  4. Записване на информация за кредитна карта в MySQL база данни?

  5. Разграничители в MySQL