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

Używanie wyrażenia regularnego z LIKE do sortowania najpierw alfabetów, a następnie symboli SQL

Spróbuj tego:

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. Jak zainstalować MySQL w systemie Windows

  2. Mysql Przechowywanie zmiennej z wynikiem SELECT CASE

  3. Jak mogę manipulować trafnością wyszukiwania pełnotekstowego MySQL, aby jedno pole było bardziej „wartościowe” niż inne?

  4. FOREIGN KEY odwołuje się do kolumny tej samej tabeli. Nie można wstawić wartości

  5. Klauzula WHERE o dołączeniu dodająca 4 sekundy do czasu wykonania