imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 08.02.2008, 17:27     # 1
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
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 первый параметр начало второй конец, вроде бы так, если кто может помочь, исправьте, дополните, помогите.
Viroman вне форума  
Старый 08.02.2008, 17:50     # 2
Псих
::VIP::
Guinness Liker
Понаехало тут
 
Аватар для Псих
 
Регистрация: 26.01.2003
Адрес: В нейроне
Пол: Male
Сообщения: 2 848

Псих СуперБогПсих СуперБог
Псих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБогПсих СуперБог
Цитата:
Сообщение от Viroman Посмотреть сообщение
от 1000 до 2000,
ну а в чем проблема? дополни условие своего запроса условием where id >= 1000 and id <= 2000

Ясное дело, что интовый идентификатор должен существовать.
__________________
меня не вылечат
Псих вне форума  
Старый 08.02.2008, 18:21     # 3
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Сообщение от Viroman Посмотреть сообщение
select * from mydatabase WHERE goroda LIKE 'B%' and LIKE 'A%'
обычно можно написать:
select * from mydatabase WHERE goroda LIKE '[AB]%'

В зависимости от сравнения (collation) возможнопонадобится учесть регистр букв, если с маленьких тодже нужны то так: LIKE '[ABab]%'

Кстати вообще оно не верное у Вас, по-вервых должно быть:
select * from mydatabase WHERE goroda LIKE 'B%' and goroda LIKE 'A%'
в таком случае запрос не выдаст ошибку, но и не вернет ни одной строки - ну в самом деле, вы можете показать слово, которое одновременно начинается и на А и на Б??

В каком "первом случае и в тором" в упор не понял, никаких номеров вопросов не видел.


Цитата:
Сообщение от Viroman Посмотреть сообщение
Далее мне надо подсчитывать строки, он это делает прекрасно, но теперь подсчитав строки в одном запросе мне необходимо теперь повторить этот же самый запрос, но при этом с указанием выдать строку предположим, от 1000 до 2000
Чего-то я не понял. Там же имена городов были!?? 1000 и 2000 это что??

Укажиет вообще с какой СУБД работаем, и приведите конкретнее структуру таблицы. Ну и вопросы не мешало бы поточнее сформулировать.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 11.02.2008, 18:01     # 4
Viroman
Banned
 
Аватар для Viroman
 
Регистрация: 16.10.2007
Сообщения: 14

Viroman Нуль без палочки
Цитата:
select * from mydatabase WHERE goroda LIKE 'B%' and goroda LIKE 'A%'
в таком случае запрос не выдаст ошибку, но и не вернет ни одной строки - ну в самом деле, вы можете показать слово, которое одновременно начинается и на А и на Б??
Да именно, это я по спешке, спасибо за подправку, насчёт того тоже правы, только я своим мышлением, показать все города где те начинаются на А и начинаются на Б, а как понимаете, я это по своему сказал, потому здесь наверное оператор or вставить, или а или б.
Насчёт второго, псих верно просёк, но его предложение несовершенно, я не собираюсь ещё и отдельным строкам нумерацию в столбике присваивать, это динамическая, затрахаюсь в скрипте пересортировывать.
Ну в общем, я и сам во всём разобрался.

"select * from mydatabase WHERE goroda LIKE 'А%' or goroda LIKE 'B%' LIMIT 15, 2";
Предположим в этом запросе, он выбирает все города, где есть в начале буква А или B, а также возвращает только лимитированное количестве строк, где первый указатель, это начало строки, второй смещение, то есть показать две строки начиная с 15.
Viroman вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 07:42.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.