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

时间:2017-11-22 12:37:36

标签: sql oracle oracle9i

我被困在这里一整天。

我有两张桌子:

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

要求是:

  • 如果今天是22-NOV-17,我需要获得FIRST_NAME,LAST_NAME 用户的LAST_LOG_IN和LAST_LOG_IN(' YYYY-MM-DD HH24:MI:SS'格式) 只有当他/她的LAST_LOG_IN早于过去7天

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

所以预期输出应为:

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

1 个答案:

答案 0 :(得分: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;