- В получена таблица вземете максималната стойност на версията за всеки type_id
- Присъединете се обратно към основната таблица, за да получите съответния ред.
Опитайте следното:
SELECT e.* FROM example1 AS e JOIN ( SELECT type_id, MAX(version) AS maximum_version FROM example1 WHERE class_id =10 GROUP BY type_id ) AS dt ON dt.type_id =e.type_id И dt.maximum_version =e.version WHERE e.class_id =10
Резултат
<предварителен код>| ID | версия | текст | class_id | type_id || --- | ------- | ----- | -------- | ------- || 1 | 1 | текст1 | 10 | 1 || 2 | 1 | текст2 | 10 | 2 || 4 | 1 | тест4 | 10 | 4 || 9 | 3 | последно | 10 | 3 || 11 | 3 | rrrr | 10 | 5 |