Вот решение mysql для получения n
количества строк для каждого магазина:
SELECT
*
FROM
(
SELECT
store_id,
order_id,
@curRank := CASE WHEN @prevStore = store_id THEN @curRank + 1 ELSE 0 END AS rank,
@prevStore:= store_id AS prevStore
FROM orders a, (SELECT @curRank := 0, @prevStore := NULL) r
WHERE store_id IN('2', '5', '9')
ORDER BY 1 desc,2
)a
WHERE a.rank<3;