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

Намерете най-близките съвпадащи низове и техните поднизове с помощта на SQL заявка

Един от методите е да използвате like в order by :

order by (case when name like 'ATUL%' then 1
               when name like 'ATU%' then 2
               when name like 'AT%' then 3
               when name like 'A%' then 4
               else 5
          end)

По-общ метод също е грубата сила, но може да бъде нещо подобно:

order by (case when left(name, 9) = left('ATUL', 9) then 1
               when left(name, 8) = left('ATUL', 8) then 2
               when left(name, 7) = left('ATUL', 7) then 3
               when left(name, 6) = left('ATUL', 6) then 4
               when left(name, 5) = left('ATUL', 5) then 5
               when left(name, 4) = left('ATUL', 4) then 6
               when left(name, 3) = left('ATUL', 3) then 7
               when left(name, 2) = left('ATUL', 2) then 8
               when left(name, 1) = left('ATUL', 1) then 9
          end)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL атомарно вмъкване-ако-не-съществува със стабилно автоматично нарастване

  2. 1130 Хостът 'amazon-ec2-ip' няма право да се свързва с този MySQL сървър

  3. Как да конфигурирам Rails за достъп без парола до отдалечена база данни

  4. Комбиниране на резултати от заявки за избор без използване на оператори за набор (UNION)

  5. Как да задам изчакване в mysql c++ конектор