MYSQL IN OPERATOR

интернет программирование php MySQL базы данных

Необходимо составить SQL запрос вида SELECT * FROM tbl1 WHERE val1 IN (1,2,3) Только с применением лимита для каждого искомого значения в поле IN ().
Если написать SELECT * FROM tbl1 WHERE val1 IN (1,2,3) LIMIT 2 - данный запрос вернет в общем кол-ве две записи. А мне необходимо именно чтоб для каждого из IN (1, 2, 3) вытащило по 2 варианта. В итоге 6 записей.
Помогите, пожалуйста, в решении данной проблемы или посоветуйте какой-нибудь альтернативный метод запроса.

P.S. запросы буду производить в Zend Framework (может именно в нем есть какие-либо альтернативы)

Примечание:
ballbezz, ок, спасибо, опробую.

Примечание:
ballbezz, работает, спасибо!
Ответы:
Можно разбить выборку на несколько запросов и применить к ним оператор UNION ALL.
(SELECT * FROM tbl1 WHERE val1 = 1 LIMIT 2)
UNION ALL
(SELECT * FROM tbl1 WHERE val1 = 2 LIMIT 2)
UNION ALL
(SELECT * FROM tbl1 WHERE val1 = 3 LIMIT 2)


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.