Get last distinct set of records

У меня есть таблица базы данных, содержащая следующие столбцы:

id   code   value   datetime   timestamp

В этой таблице единственные уникальные значения находятся в id, т.е. первичном ключе.

Я хочу получить последний уникальный набор записей в этой таблице на основе значения времени. Например, допустим, ниже приведена моя таблица

id   code   value   datetime               timestamp
1    1023   23.56   2011-04-05 14:54:52    1234223421
2    1024   23.56   2011-04-05 14:55:52    1234223423
3    1025   23.56   2011-04-05 14:56:52    1234223424
4    1023   23.56   2011-04-05 14:57:52    1234223425
5    1025   23.56   2011-04-05 14:58:52    1234223426
6    1025   23.56   2011-04-05 14:59:52    1234223427
7    1024   23.56   2011-04-05 15:00:12    1234223428
8    1026   23.56   2011-04-05 15:01:14    1234223429
9    1025   23.56   2011-04-05 15:02:22    1234223430

Я хочу получить записи с идентификаторами 4, 7, 8 и 9, т.е. последний набор записей с разными кодами (на основе значения времени). То, что я выделил, является просто примером того, чего я пытаюсь достичь, поскольку эта таблица в конечном итоге будет содержать миллионы записей и сотни отдельных значений кодов.

Какой оператор SQL я могу использовать для достижения этой цели? Я не могу добиться этого с помощью одного оператора SQL. Моя база данных - MySQL 5.

45
задан Joulukuusi 23 October 2017 в 20:34
поделиться