Выбор первой фотографии большого пальца для альбомов

#mysql

#mysql

Вопрос:

У меня возникли проблемы с выбором first photo ( thumb_filename ) и date added ( date_added ) для каждой уникальной статьи. Каждая уникальная статья представляет собой отдельную галерею.

Я новичок в MySQL, поэтому надеюсь, что кто-нибудь может помочь.

 CREATE TABLE IF NOT EXISTS `photographs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `article_id` int(11) NOT NULL,
  `thumb_filename` varchar(255) NOT NULL,
  `full_filename` varchar(255) NOT NULL,
  `date_added` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `article_id` (`article_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=31 ;
  

Я знаю, как использовать SELECT thumb_filename, date_added FROM photographs и чем отфильтровывать это с помощью PHP. Я не знаю, как установить условие для уникальности article_id

Ответ №1:

Конечно, непроверенный, но это может сделать работу за вас. Это не единственный способ сделать это, но это простой способ. Он извлекает фотографии id для самых ранних date_added из них article_id , а затем использует их для извлечения имени файла.

 SELECT 
  thumb_filename,
  date_added
FROM photographs
WHERE id IN (SELECT id FROM photographs GROUP BY article_id HAVING MIN(date_added))
  

Комментарии:

1. У вас есть select еще одна, в противном случае это решение. Спасибо.