Я искал здесь несколько разных способов сделать это, но не могу заставить это работать. В принципе, у меня есть таблица с записью изображений, добавленных на веб-сайт. Каждое изображение помещается в эту таблицу. Я хочу захватить первые 5 изображений из каждого отдельного Добавленного поля.MYSQL Выберите 5 записей за последние 5 различных записей
Таким образом, таблица может выглядеть следующим образом:
ID File Folder Added
----------------------------------
13 13.jpg Event3 20130830
12 12.jpg Event3 20130830
11 11.jpg Event3 20130830
10 10.jpg Event3 20130830
9 9.jpg Event3 20130830
8 8.jpg Event2 20130701
7 7.jpg Event2 20130701
6 6.jpg Event2 20130701
5 5.jpg Event2 20130701
4 4.jpg Event1 20130615
3 3.jpg Event1 20130615
2 2.jpg Event1 20130615
1 1.jpg Event1 20130615
И я хочу возвращение быть похожим на это:
ID File Folder Added
----------------------------------
13 13.jpg Event3 20130830
12 12.jpg Event3 20130830
8 8.jpg Event2 20130701
7 7.jpg Event2 20130701
4 4.jpg Event1 20130615
3 3.jpg Event1 20130615
Так в основном получать последние 5 (отсортированный по высшей ID первой) изображения для последних 5 отдельных «добавленных» дат (снова отсортированы для последних с добавленным полем). Спасибо!
EDIT ---------------
Так что это немного более ясно ... У меня есть таблица с изображениями я закачал на изображение, основанное Веб-сайт. Для передней части веб-сайта я хочу, чтобы в новостях размещались последние 5 галерей, в которых были загружены изображения и отображались 5 изображений из каждой из этих галерей. Каждое изображение, которое находится в mysql, имеет загруженную дату («Добавлено»), которая соответствует галерее, поскольку я загружаю изображения в галерею только один день за раз, а идентификационный номер, который автоматически увеличивается с каждым добавленным изображением («ID») , Конечно, есть куча других областей, но это самые важные из того, что я пытаюсь сделать.
EDIT # 2 ----------
Там очень много путаницы в том, как я это формулировка, это немного сложно объяснить, но в основном, как я могу получить 5 из самые высокие поля идентификатора для 5 отдельных добавленных полей даты из таблицы?
Я считаю, что он должен делать с этим, но она не работает, когда я запускаю его:
select TOP 5 * from (
select *,
row_no = row_number() over (partition by Added order by ID)
from AviationImages) d
where d.row_n <= 5
Как «13.jpg» и «12.jpg» в ваших желаемых результатах? – hjpotter92
Потому что они были последними изображениями, загруженными на эту дату 20120830. И я ищу, чтобы получить последние 5 изображений, загруженных за 5 из последних отчетливых добавленных дат. –
В приведенной выше таблице примеров содержится небольшая сумма. За последние несколько лет реальная таблица имеет тысячи изображений. –