Задать вопрос
bigton
@bigton
Web-программист

Как одним запросом выбрать 2 последних заказа для каждого пользователя?

Всем привет.

Дана таблица.
01d1b83ac818462388c304fd33dcdd56.png
Есть ли возможность одним запросом выбрать для каждого пользователя 2 последних заказа?

Запрос для одного пользователя

SELECT * FROM `table_orders` WHERE `user_id` = 1 ORDER BY `order_id` DESC LIMIT 2;

А нужно что-то типа
SELECT * FROM `table_orders` WHERE `user_id` IN (1, 3, 4) ORDER BY `order_id` DESC MAGIC_LIMIT 2;


Спасибо!
  • Вопрос задан
  • 158 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Комментировать
romy4
@romy4
Exception handler
SELECT a.* FROM `table_orders` a WHERE a.`user_id` IN (1, 3, 4) 
INNER JOIN (SELECT * FROM `table_orders` WHERE `user_id` = a.`user_id` ORDER BY `order_id` DESC LIMIT 2) b ON b.user_id=a.user_id and b.order_id=a.order_id

как-то так
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы