如何在 Oracle SQL 中仅 select 最近 30 天内首次显示在 table 中的这些 ID?

How to select only these IDs which shows in table for the first time during last 30 days in Oracle SQL?

我在 Oracle 中有 table SQL 显示客户的 ID 和日期以及他们登录应用程序的时间:

ID | LOGGED
----------------
11 | 2021-09-10 12:55:13.278
11 | 2021-08-10 13:58:13.211
11 | 2021-02-11 12:22:13.364
22 | 2021-09-15 08:34:13.211
33 | 2021-04-02 14:21:13.272

我如何才能 select 只有这些在过去 30 天内首次记录的 ID? 因此,我需要如下内容:

ID
---
22

因为在过去 30 天内第一次记录的只有 ID 22 -> 2021-09-15 08:34:13.211 我如何在 Oracle SQL 中做到这一点?

使用这个

    Select id from table where trunc(logged) 
    >= 
    Trunc(sysdate-30) group by id having count(*) =1

或者更好的条件是使用 min, max

     Select id from table where trunc(logged) 
    >= 
    Trunc(sysdate-30) group by id having min(logged) 
     =max(logged)