Мне нужно удалить номера, кроме самого большого с указанием дня и имени
CREATE TABLE IF NOT EXISTS `test_1m` (
`name` varchar(11) NOT NULL,
`rate` varchar(15) NOT NULL,
`dt` datetime NOT NULL
) DEFAULT CHARSET=utf8;
INSERT INTO `test_1m` (`name`, `rate`, `dt`) VALUES
('kurkuma', '0.00002150', '2018-04-06 12:04:01'),
('kurkuma', '0.00002151', '2018-04-06 12:04:02'),
('kurkuma', '0.00002152', '2018-04-06 12:04:03'),
('kurkuma', '0.00002153', '2018-04-06 12:04:04'),
('kurkuma', '0.00002159', '2018-04-06 12:04:05'),
('kurkuma', '0.00002154', '2018-04-06 12:04:06'),
('kurkuma', '0.00002155', '2018-04-06 12:04:07'),
('kurkuma', '0.00002156', '2018-04-07 12:04:08'),
('kurkuma', '0.00002157', '2018-04-07 12:04:09'),
('pahlava', '0.0000001', '2018-04-06 12:04:02'),
('pahlava', '0.0000002', '2018-04-07 12:04:02');
должно быть
('kurkuma', '0.00002159', '2018-04-06 12:04:05'),
('kurkuma', '0.00002157', '2018-04-07 12:04:09'),
('pahlava', '0.0000001', '2018-04-06 12:04:02'),
('pahlava', '0.0000002', '2018-04-07 12:04:02');
Может быть, что-то вроде этого. просто не работает =)
DELETE * FROM `test_1m`
WHERE NOT (
SELECT max(rate)
FROM `test_1m`
GROUP BY `name`, DATE(`dt`)
)