来自数据集和总和的MIN值

q4z*_*za4 3 sql oracle

我有数据:

ID  DUE         AMT
4   2018-03-10  335.75
3   2018-04-10  334.75
1   2018-05-10  333.75
2   2018-06-10  332.75
Run Code Online (Sandbox Code Playgroud)

我需要提取:

  1. 最少到期(03-10)
  2. 至少到期(335.75)
  3. amt列的总和.

可以在单个查询中完成吗?

小智 5

尝试保持密集排名:

with tt as (
  select 4 id, date '2018-03-10' due, 335.75 amt from dual union all
  select 3 id, date '2018-04-10' due, 334.75 amt from dual union all
  select 1 id, date '2018-05-10' due, 333.75 amt from dual union all
  select 2 id, date '2018-06-10' due, 332.75 amt from dual
)
select min(due) least_due,
       min(amt) keep (dense_rank first order by due) amt_for_least_due,
       sum(amt) sum_amt
from   tt
Run Code Online (Sandbox Code Playgroud)