Sql 如何获得具有最大术语代码的行
我需要能够获得具有最大/最大/最大项\u CODE\u EFF的行 我需要更改类似于以下查询的内容: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
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;