I have a table with timezones which looks like this sample:
CREATE TABLE timezones
(`CountryCode` varchar(2),
`ZoneName` varchar(35),
`Offset` int not null,
`Dst` char(1),
`TimeStart` decimal(11,0) not null);
INSERT INTO
timezones (`CountryCode`, `ZoneName`, `Offset`, `Dst`, `TimeStart`)
VALUES
('VA', 'Europe/Vatican', 7200, '1', 1521939600),
('VA', 'Europe/Vatican', 3600, '0', 1540688400),
('VA', 'Europe/Vatican', 7200, '1', 1553994000),
('UA', 'Europe/Zaporozhye', 10800, '1', 1521939600),
('UA', 'Europe/Zaporozhye', 7200, '0', 1540688400),
('UA', 'Europe/Zaporozhye', 10800, '1', 1553994000),
('TR', 'Europe/Istanbul', 7200, '0', 1446944400),
('TR', 'Europe/Istanbul', 7200, '1', 1459040400),
('TR', 'Europe/Istanbul', 10800, '0', 1473195600);
+-------------+-------------------+--------+------+------------+ | CountryCode | ZoneName | Offset | Dst | TimeStart | +-------------+-------------------+--------+------+------------+ | VA | Europe/Vatican | 7200 | 1 | 1521939600 | | VA | Europe/Vatican | 3600 | 0 | 1540688400 | | VA | Europe/Vatican | 7200 | 1 | 1553994000 | | UA | Europe/Zaporozhye | 10800 | 1 | 1521939600 | | UA | Europe/Zaporozhye | 7200 | 0 | 1540688400 | | UA | Europe/Zaporozhye | 10800 | 1 | 1553994000 | | TR | Europe/Istanbul | 7200 | 0 | 1446944400 | | TR | Europe/Istanbul | 7200 | 1 | 1459040400 | | TR | Europe/Istanbul | 10800 | 0 | 1473195600 | +-------------+-------------------+--------+------+------------+
I need to select rows with unique ZoneName
field that have the biggest value in TimeStart
column.
So for the above table, I expect the following result:
+-------------+-------------------+--------+------+------------+ | CountryCode | ZoneName | Offset | Dst | TimeStart | +-------------+-------------------+--------+------+------------+ | VA | Europe/Vatican | 7200 | 1 | 1553994000 | | UA | Europe/Zaporozhye | 10800 | 1 | 1553994000 | | TR | Europe/Istanbul | 10800 | 0 | 1473195600 | +-------------+-------------------+--------+------+------------+