| 2 таблицы:
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
INSERT INTO `news` (`id`, `date`) VALUES
(1, '2014-07-26 17:21:30'),
(2, '2014-07-26 17:22:35'),
(3, '2014-07-26 17:21:41'),
(4, '2014-07-26 17:21:43'),
(5, '2014-07-26 17:21:45'),
(6, '2014-07-26 17:21:46'),
(7, '2014-07-26 17:21:48'),
(8, '2014-07-26 17:21:49');
CREATE TABLE IF NOT EXISTS `news_tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`news_id` int(11) DEFAULT NULL,
`tag_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
INSERT INTO `news_tags` (`id`, `news_id`, `tag_id`) VALUES
(1, 1, 1),
(2, 1, 3),
(3, 2, 1),
(4, 2, 3),
(5, 3, 1),
(6, 4, 3),
(7, 5, 5);
|
На входе имеем массив идентификаторов тегов (tag_id). Надо получить по одной последней по дате публикации новости для каждого тега.
Для представленных данных:
На входе:
Результат:
news_id, date, tag_id
[2, 2014-07-26 17:22:35, 1]
[2, 2014-07-26 17:22:35, 3]
|
На входе:
Результат:
news_id, date, tag_id
[2, 2014-07-26 17:22:35, 3]
[5, 2014-07-26 17:21:45, 5]
|
| |