У меня есть запрос, подобный следующему, который я хотел бы выполнить в базе данных sqlite:
SELECT name
FROM table
WHERE name LIKE "%John%"
ORDER BY (CASE WHEN name = "John" THEN 1 WHEN name LIKE "John%" THEN 2 ELSE 3 END),name LIMIT 10
Я хотел бы использовать SQLite для Swift, чтобы связать запрос вместе, но я в тупике относительно того, как (или если это вообще возможно) использовать метод .order.
let name = "John"
let filter = "%" + name + "%"
table.select(nameCOL).filter(nameCOL.like(filter)).order(nameCOL)
Получает меня
SELECT name
FROM table
WHERE name LIKE %John%
ORDER BY name
Любые идеи о том, как добавить в запрос, чтобы получить более сложную сортировку, где имена, начинающиеся с Джона, идут первыми, а затем имена с Джоном в них?
Я видел sqlite-часть решения здесь: SQLite LIKE & ORDER BY Match query
Теперь я просто хотел бы реализовать это с помощью SQlite для Swift.
Кажется, это может быть слишком ограничительным для этого, учитывая ограниченные примеры, у кого-нибудь еще есть опыт работы с более сложными предложениями ORDER BY?
Большое спасибо.