Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Остановка выборки mysql

Саня Алцыбеев Ученик (171), на голосовании 3 года назад
Странно но не смог нагуглить ответа, Есть ли способ остановить выборку при некотором условии? что-то вроде break в цикле.
Задача:
Выбрать последние данные удовлетовряющие условиям, пока не встретит первое недопустимое.
Вариант на который меня хватило:
Запросить коротким запросом и найти последний удовлетворяющий вариант.
Затем сделать выборку где id (или дата) > найденного нами, с сортировкой по этому же столбцу.
Как лучше оптимизировать подобный запрос? есть ли аналог функции break в mysql?
P.S.
Сайт на php, обращение к бд через mysqli
Дополнен 4 года назад
Читайте пожалуйста внимательней вопрос, я знаю что такое лимит и он подразумевается в моём варианте решения задачи, вопрос в том как его оптимизировать, есть ли более быстрое решение чем моё
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445813) 4 года назад
В таблицах не бывает ничего "первого" и "последнего", поэтому вопрос не совсем ясен.
Но в целом, при помощи выборок, сортировок и лимитов, наверняка можно добиться того, что тебе нужно.
Саня АлцыбеевУченик (171) 4 года назад
Сортировка будет, это очевидно, но лимит не может быть задан явно без дополнительного запроса (этот вариант мной описан)
Евгений Высочин Просветленный (37979) 4 года назад
Нужно не выборку останавливать, а устанавливать лимит выборки на количество отбираемых записей. В mysql это делается опцией limit в конце строки, например:
select name from cars where id>0 order by id limit 10;
(выбрать первые 10 записей, отвечающие условию выборки).
Саня АлцыбеевУченик (171) 4 года назад
Если вы внимательно прочитали задачу, то как реализовать лимит с множеством фильтров и останавливающийся на конкретной записи, первой среди новых, удовлетворяющей параметрам запроса?
Евгений Высочин Просветленный (37979) Саня Алцыбеев, тебе не достаточно написали? :) Может за тебя на учёбу походить?:)
Похожие вопросы