|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Нужны ваши светлые головы и опыт, который не пропьешь. Есть табличка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
В ней данные idnamefull_nameter_namecodecoordinate_jsoncoordinate100802Массив Иваново Иваново-ДМассив Иваново Иваново-Д Садовое неком-е товарищество, Приозерский Район, Ленинградская ОбластьСадовое неком-е товарищество4701500077451NULLNULL68082ИвановоГород Иваново, Ивановская ОбластьГород3700000100000NULLNULL105069ИвановоДеревня Иваново, Город Егорьевск, Московская ОбластьДеревня5000003906100NULLNULL105684ИвановоДеревня Иваново, Город Руза, Московская ОбластьДеревня5000004507900NULLNULL..................... Данных много. Мне надо выбирать из этой таблицы данные по 5 штук сортируя так, чтобы на первых местах всегда были строки где поде name совпадает с фильтром или включает его в начале строки, при этом города были на первом месте. При этом чтобы точное совпадение названия с полем name имело высший приоритет над строками где это поле просто входит в строку. Далее надо, чтобы если после названия в строке поиска начали вводить название территориальной единицы или области в которой находится искомое то оно тоже находилось. В примерах: Вводят слово "Иваново". Результат в порядке следования ID 68082->105069->105684->100802 Вводят слова "Иваново дер". Результат в порядке следования ID 105069->105684 Вводят слова "Иваново мос". Результат в порядке следования ID 105069->105684 Вводят слова "дер Иваново Егор". Результат 105069 Нужно это на сайте для выпадающей подсказки в поле выбора населенного пункта. Табличка моя, могу её переделать, если надо. Сайт на php потому могу строку запроса форматировать с помощью php. Нужны Ваши идеи. Сам в тупике. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 17:38 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Prizzrak сортируя так, чтобы на первых местах всегда были строки где поде name совпадает с фильтром или включает его в начале строки Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 19:46 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Akina Prizzrak сортируя так, чтобы на первых местах всегда были строки где поде name совпадает с фильтром или включает его в начале строки Код: sql 1.
Ну зачем же было себя так утруждать и дочитывать до этой строки, особенно учитывая, что дочитывать Вы не собирались? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 14:55 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Если Вам этого недостаточно, то, боюсь, что и полный ответ не поможет... Вы в курсе, что выражение в ORDER BY может состоять из нескольких последовательных выражений? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:38 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Akina Если Вам этого недостаточно, то, боюсь, что и полный ответ не поможет... Вы в курсе, что выражение в ORDER BY может состоять из нескольких последовательных выражений? А вы попробуйте сделать полный ответ. В примере всего 4 случая. Будьте так любезны, покажите полный ответ хотя бы для этих 4-х случаев. В реальности их конечно больше, но на этих четырёх станет понятно основная идея Вашей рекомендации. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:33 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Akina Prizzrak сортируя так, чтобы на первых местах всегда были строки где поде name совпадает с фильтром или включает его в начале строки Код: sql 1.
Вообще идея интересная. У меня правда пока не получается все 4 примера получить, но часть получилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:43 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Prizzrak А вы попробуйте сделать полный ответ. В примере всего 4 случая Ну так распишите алгоритм чётко. Типа "1) сначала записи, которые ..., 2) затем записи, которые ..." ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:52 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Akina Prizzrak А вы попробуйте сделать полный ответ. В примере всего 4 случая Ну так распишите алгоритм чётко. Типа "1) сначала записи, которые ..., 2) затем записи, которые ..." А всё! Уже не надо! Вы мне уже помогли! У меня вот что получилось: Код: sql 1. 2. 3. 4. 5. 6. 7.
И этого вполне достаточно! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:54 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Ещё в начало бы добавить Код: sql 1.
А то попадётся какое-нить Иваново-Марьинское, которое сейчас может запросто вылезти на самый верх. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:57 |
|
Запрос по населенным пунктам
|
|||
---|---|---|---|
#18+
Akina Ещё в начало бы добавить Код: sql 1.
А то попадётся какое-нить Иваново-Марьинское, которое сейчас может запросто вылезти на самый верх. Добавил. Ещё раз спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 17:03 |
|
|
start [/forum/topic.php?fid=47&msg=40014026&tid=1828330]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
125ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 222ms |
0 / 0 |