SQL - How to select a row having a column with max value

前端 未结 9 810
悲&欢浪女
悲&欢浪女 2020-11-29 02:38
date                 value

18/5/2010, 1 pm        40
18/5/2010, 2 pm        20
18/5/2010, 3 pm        60
18/5/2010, 4 pm        30
18/5/2010, 5 pm        60
18/5/20         


        
9条回答
  •  遥遥无期
    2020-11-29 02:57

    SQL> create table t (mydate,value)
      2  as
      3  select to_date('18/5/2010, 1 pm','dd/mm/yyyy, hh am'), 40 from dual union all
      4  select to_date('18/5/2010, 2 pm','dd/mm/yyyy, hh am'), 20 from dual union all
      5  select to_date('18/5/2010, 3 pm','dd/mm/yyyy, hh am'), 60 from dual union all
      6  select to_date('18/5/2010, 4 pm','dd/mm/yyyy, hh am'), 30 from dual union all
      7  select to_date('18/5/2010, 5 pm','dd/mm/yyyy, hh am'), 60 from dual union all
      8  select to_date('18/5/2010, 6 pm','dd/mm/yyyy, hh am'), 25 from dual
      9  /
    
    Table created.
    
    SQL> select min(mydate) keep (dense_rank last order by value) mydate
      2       , max(value) value
      3    from t
      4  /
    
    MYDATE                   VALUE
    ------------------- ----------
    18-05-2010 15:00:00         60
    
    1 row selected.
    

    Regards, Rob.

提交回复
热议问题