Sql 如何获得具有最大术语代码的行

Sql 如何获得具有最大术语代码的行,sql,oracle,Sql,Oracle,我需要能够获得具有最大/最大/最大项\u CODE\u EFF的行 我需要更改类似于以下查询的内容: SELECT MAJR_CODE_MINR_1 AS Minor1, MAJR_CODE_MINR_1_2 AS Minor2, MAJR_CODE_MINR_2 AS Minor3, MAJR_CODE_MINR_2_2 AS Minor4 FROM SGBSTDN WHERE SGBSTDN_PIDM = '367021' 变成这样: SELECT

我需要能够获得具有最大/最大/最大项\u CODE\u EFF的行 我需要更改类似于以下查询的内容:

SELECT MAJR_CODE_MINR_1 AS Minor1,
       MAJR_CODE_MINR_1_2 AS Minor2,
       MAJR_CODE_MINR_2 AS Minor3,
       MAJR_CODE_MINR_2_2 AS Minor4
FROM SGBSTDN
WHERE SGBSTDN_PIDM = '367021'
变成这样:

SELECT MAX (TERM_CODE_EFF) AS TermCode,
       MAJR_CODE_MINR_1 AS Minor1,
       MAJR_CODE_MINR_1_2 AS Minor2,
       MAJR_CODE_MINR_2 AS Minor3,
       MAJR_CODE_MINR_2_2 AS Minor4
FROM SGBSTDN
WHERE SGBSTDN_PIDM = '367021'
这给了我一个ORA-00937:不是一个单一的组函数。感谢您的帮助

SELECT MAX (TERM_CODE_EFF) AS TermCode,
       MAJR_CODE_MINR_1 AS Minor1,
       MAJR_CODE_MINR_1_2 AS Minor2,
       MAJR_CODE_MINR_2 AS Minor3,
       MAJR_CODE_MINR_2_2 AS Minor4
FROM SGBSTDN
WHERE SGBSTDN_PIDM = '367021'
group by MAJR_CODE_MINR_1 ,MAJR_CODE_MINR_1_2 ,MAJR_CODE_MINR_2 ,MAJR_CODE_MINR_2_2 

请在发布问题之前做一些调查。对于这些类型的错误,有大量的在线解决方案。

使用
orderby
rownum

SELECT *
FROM (SELECT TERM_CODE_EFF,
             MAJR_CODE_MINR_1 AS Minor1,
             MAJR_CODE_MINR_1_2 AS Minor2,
             MAJR_CODE_MINR_2 AS Minor3,
             MAJR_CODE_MINR_2_2 AS Minor4
      FROM SGBSTDN
      WHERE SGBSTDN_PIDM = '367021'
      ORDER BY TERM_CODE_EFF DESC
     ) t
WHERE rownum = 1;