首页 文章

Oracle语句返回结果取决于记录的最大值

提问于
浏览
0

我整天都被困在这里 .

我有2张 table :

TABLE 1: LOGS
FIRST_NAME      LAST_LOG_IN
------------------------------
John            15-NOV-17
Jane            13-NOV-17
John            12-NOV-17
John            11-NOV-17
John            10-NOV-17
Jane            12-NOV-17
TABLE 2: USER
FIRST_NAME       LAST_NAME    
------------------------------
Jane             Doe
John             Smith

The Requirements are:

  • 如果今天是22-NOV-17,我需要获得该用户的FIRST_NAME,LAST_NAME和LAST_LOG_IN(以'YYYY-MM-DD HH24:MI:SS'格式),前提是他/她的LAST_LOG_IN早于最后一个7天

  • 只放在一个语句中以在SQL Developer中执行(不使用PL / SQL)

所以 Expected Output 应该是:

FIRST_NAME       LAST_NAME        LAST_LOG_IN
---------------------------------------------------
Jane             Doe            2017-11-13 17:49:57

1 回答

  • 0

    就像是:

    select u.first_name, u.last_name, to_char(a.log_date,'YYYY-MM-DD HH24:MI:SS') from (
      select first_name, max(last_log_in) log_date from logs group by first_name) a
      inner join 
      user u on (a.first_name = u.first_name)
    where a.log_date > sysdate - 7;
    

相关问题