#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
еще одна, в противном случае это решение. Спасибо.