我的表存储了几个文档的各种版本。
-------------------------------
| id | doc_type | download |
-------------------------------
| 1 | type1 | file |
-------------------------------
| 2 | type2 | file |
-------------------------------
| 3 | type3 | file |
-------------------------------
| 4 | type1 | file |
-------------------------------
该表存储同一类型文档的不同版本。我需要构建一个查询,它将返回具有 max(id) 的不同类型的 doc_type - 这是文件的最新版本。doc_types 的数量不受限制并且是动态的。到目前为止我的查询:
select max(id) from template_table
where doc_type in (select distinct doct_type from template_table);
这仅返回一个最大的结果。如果我可以按 id ASC 对结果进行排序,并将结果限制为最大 4,但它不能保证它会返回不同的 doc_types。数据库中文档类型的数量也可能从 4 变化,它需要计算有多少。
select * from template_table
order by id limit 4;
谢谢你的帮助。