imho.ws |
![]() |
![]() |
![]() |
# 1 |
Banned
Регистрация: 16.10.2007
Сообщения: 14
![]() |
mysql запрос
Возник у меня тут махонький вопросец, а точнее два, в связи с тем, насколько позволяет следующее.
И так база данных, которая выдаёт столько строк, сколько там находятся на тот момент. Далее есть поля с в одном столбике, где хранятся типа названия городов, предположим. Теперь я хотел бы запрос такой послать, чтобы были выбраны те строки, где скажем так, название города начинается на букву В или А, или А и М и Д, итд. Далее мне надо подсчитывать строки, он это делает прекрасно, но теперь подсчитав строки в одном запросе мне необходимо теперь повторить этот же самый запрос, но при этом с указанием выдать строку предположим, от 1000 до 2000, вот как на примере пожалуйста такие запросы выглядят, если таковое имеется. Неохота лазить в кодах разбираться, как там реализовано, может у вас быстрее узнаю. Заранее спасибо. добавлено через 5 минут ПС> добавлено, пожалуйста не путать с алфавитным порядком АСЦ, мне не нужны все строки, а только те, где есть такие то буквы. Спасибо. добавлено через 23 минуты Кажется в первом случае я понял, select * from mydatabase WHERE goroda LIKE 'A%' или select * from mydatabase WHERE goroda LIKE 'B%' или select * from mydatabase WHERE goroda LIKE 'B%' and LIKE 'A%' по второму по моему надо использовать LIMIT первый параметр начало второй конец, вроде бы так, если кто может помочь, исправьте, дополните, помогите. |
![]() |
![]() |
# 2 |
::VIP::
Guinness Liker Понаехало тут Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ну а в чем проблема? дополни условие своего запроса условием where id >= 1000 and id <= 2000
Ясное дело, что интовый идентификатор должен существовать.
__________________
меня не вылечат
![]() |
![]() |
![]() |
# 3 | |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
обычно можно написать:
select * from mydatabase WHERE goroda LIKE '[AB]%' В зависимости от сравнения (collation) возможнопонадобится учесть регистр букв, если с маленьких тодже нужны то так: LIKE '[ABab]%' Кстати вообще оно не верное у Вас, по-вервых должно быть: select * from mydatabase WHERE goroda LIKE 'B%' and goroda LIKE 'A%' в таком случае запрос не выдаст ошибку, но и не вернет ни одной строки - ну в самом деле, вы можете показать слово, которое одновременно начинается и на А и на Б?? В каком "первом случае и в тором" в упор не понял, никаких номеров вопросов не видел. Цитата:
Укажиет вообще с какой СУБД работаем, и приведите конкретнее структуру таблицы. Ну и вопросы не мешало бы поточнее сформулировать.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
![]() |
![]() |
# 4 | |
Banned
Регистрация: 16.10.2007
Сообщения: 14
![]() |
Цитата:
Насчёт второго, псих верно просёк, но его предложение несовершенно, я не собираюсь ещё и отдельным строкам нумерацию в столбике присваивать, это динамическая, затрахаюсь в скрипте пересортировывать. Ну в общем, я и сам во всём разобрался. "select * from mydatabase WHERE goroda LIKE 'А%' or goroda LIKE 'B%' LIMIT 15, 2"; Предположим в этом запросе, он выбирает все города, где есть в начале буква А или B, а также возвращает только лимитированное количестве строк, где первый указатель, это начало строки, второй смещение, то есть показать две строки начиная с 15. |
|
![]() |