我有一个名为“versions”的表,其中包含列control_no、revision_id、revision_dt、version_no、version_dt、created_by、change_type、summary、new_owner。
每个control_no都有revision_id,范围从1到特定数字。我想从这个表中选择 对于具有 max(REVISION_ID) 的 CONTROL_NO,VERSION_NO、CHANGE_TYPE、SUMMARY、CREATED_BY。
如何做到这一点?
使用以下查询
select VERSION_NO,CHANGE_TYPE,SUMMARY,CREATED_BY from VERSIONS where REVISION_ID in (SELECT A.REVISION_LIST FROM (select max(REVISION_ID) AS REVISION_LIST, CONTROL_NO AS CONT_NO from VERSIONS GROUP BY CONTROL_NO)A);
这会起作用:
select VERSION_NO,CHANGE_TYPE,SUMMARY,CREATED_BY,max(REVISION_ID),control_no
from versions group by control_no;
通过以下代码即可获得
SELECT MAX(Version_id) AS Version_id, VERSION_NO,CHANGE_TYPE,SUMMARY,CREATED_By, CONTROL_NO
from table
GROUP BY VERSION_NO,CHANGE_TYPE,SUMMARY,CREATED_By, CONTROL_NO