Допустим, есть две таблицы:
Таблица "фото" с колонками:
id,
title,
path,
user_id
и таблица "пользователи" с колонками:
id
username
Что я хочу сделать, это выбрать, скажем, 30 фотографий из таблицы «фото», но при условии, что в выбранном наборе результатов будет не более 3 фотографий от одного пользователя. Пока у меня есть этот запрос:
SELECT p.*, u.username FROM photos AS p
INNER JOIN users AS u ON u.id = p.user_id
ORDER BY p.id DESC LIMIT 30;
Как создать предложение WHERE для достижения макс. 3 строки от одного и того же пользователя в наборе результатов выборки?
РЕДАКТИРОВАТЬ: я использую MySQL 5.1.33