LIKE를 사용하는 경우에만 1 개의 필드를 검색하는 SQLite 쿼리가 필요합니다.SQLite LIKE & ORDER BY 일치 쿼리
기본 예 : 필드 (예 : "존")
- :
SELECT name FROM table WHERE name LIKE "%John%" ORDER BY name LIMIT 10;
문제는 그 결과가 이런 식으로 주문해야 할 것입니다 필드는 "John"으로 시작합니다 (예 : "John Doe")
- 필드에 "John"이 포함 된 경우 (예 : "Jane John Doe")
다음 쿼리는 예상 결과를 얻을 수 있지만, 느린 :
SELECT name FROM table WHERE name LIKE "%John%" ORDER BY CASE WHEN name = "John"
THEN 1 ELSE 2 END, CASE WHEN name LIKE "John%" THEN 1 ELSE 2 END, name LIMIT 10;
쿼리는 위의 3 개 별도의 쿼리 (정확히 일치 하나, 하나를 사용하는 대안보다 (또는 내가 잘못 테스트) 느린 with로 시작하고 contains에 하나).
다른 대안이 있습니까? 이 방법으로