Я использую MySQL, и таблица была создана с этой схемой:
CREATE TABLE `example` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`version` INT UNSIGNED NOT NULL,
`text` VARCHAR(45) NOT NULL,
`class_id` INT NOT NULL,
`tyoe_id` INT NULL,
PRIMARY KEY (`id`));
Таблица содержит следующие записи, указанные в ссылке (не разрешено встраивать).

Для определенного class_id (например, 10) я хочу получить все разные type_ids с максимальной версией. Есть 5 type_id 1,2,3,4,5, которые могут существовать или нет, однако, если type_id существует в определенном классе, мы хотим последний (максимальная версия). Запрос должен также возвращать текстовый столбец.
В случае необходимости, вот оператор вставки
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (1,1,'text1',10,1);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (2,1,'text2',10,2);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (3,1,'test3',10,3);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (4,1,'test4',10,4);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (5,1,'test5',10,5);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (6,2,'test44',10,3);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (7,1,'1111',11,1);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (8,1,'eferwer',12,2);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (9,3,'last',10,3);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (10,2,'new',10,5);
INSERT INTO `example1` (`id`,`version`,`text`,`class_id`,`tyoe_id`) VALUES (11,3,'rrrr',10,5);