Как я уже сказал в заголовке, имея следующую схему:
CREATE TABLE IF NOT EXISTS `services` (
`id` int(6) unsigned NOT NULL,
`description` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `services` (`id`, `description`) VALUES
('1', 'Water flood from kitchen'),
('2', 'Light switch burnt');
CREATE TABLE IF NOT EXISTS `visits` (
`id` int(6) unsigned NOT NULL,
`date` DATETIME NOT NULL,
`description` varchar(200) NOT NULL,
`worker` varchar(200) NOT NULL,
`services_id` int(6) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `visits` (`id`, `date`, `description`, `worker`, `services_id`) VALUES
('1', '2018-12-10 16:00:00', 'Find and stop leak', 'Thomas', '1'),
('2', '2018-12-11 09:00:00', 'Change broken pipe', 'Bob', '1'),
('3', '2018-12-10 19:00:00', 'Change light switch', 'Alfred', '2'),
('4', '2018-12-11 10:00:00', 'Paint wall blackened by shortcircuit', 'Ryan', '2');
Мне нужно получить самое последнее посещение по дате для каждой службы.
В этом примереЯ бы получил:
'1', '2018-12-10 16:00:00', 'Find and stop leak', 'Thomas', '1'
'3', '2018-12-10 19:00:00', 'Change light switch', 'Alfred', '2'
Как бы вы это сделали?Я изо всех сил пытаюсь найти решение.
Вот SQLFiddle:
http://sqlfiddle.com/#!9/3ca219