表结构:
CREATE TABLE DATA_INFO
(
SEQ_NO VARCHAR2(12) NOT NULL,
ENT_CODE CHAR(8),
ENT_NUMBER CHAR(12),
BRANCH CHAR(2),
PRINT_DATE DATE,
NUM_1 CHAR(2),
NUM_2 CHAR(2),
NUM_3 CHAR(2)
)
求相同
ENT_CODE,ENT_NUMBER,BRANCH
中 PRINT_DATE最大记录的
ENT_CODE,ENT_NUMBER,BRANCH,NUM_1,NUM_2,NUM_3
如果结果集中有复数条记录的情况下
用SEQ_NO最大的来表示
想请教 比较简洁的写法是什么。
(有少于2次子查询的写法吗?)
sql
------解决方案--------------------
百度 : 分析函数.
------解决方案--------------------
selec(t ENT_CODE,ENT_NUMBER,BRANCH,NUM_1,NUM_2,NUM_3
from
select ENT_CODE,ENT_NUMBER,BRANCH,NUM_1,NUM_2,NUM_3,
row_number() over(partition by ENT_CODE,ENT_NUMBER,BRANCH order by PRINT_DATE desc,SEQ_NO desc) rn
from DATA_INFO
)
where rn = 1