仅包括 sql 中的一行
Including only one row in sql
我想做的是获取如下所示的记录:
ID NAME STARTDATE ENDDATE EnrollmentMonth
1 PETER 20200705 20200729 20200701
1 TONY 20200730 99991231 20200701
并将其更改为如下所示:
ID NAME STARTDATE ENDDATE EnrollmentMonth
1 PETER 20190101 20200729 20200701
加上那个月15号报名的名字,Peter是7月15号报名的,Tony没有。
想法是在七月只选一个名字。
我很难完成这项工作。任何帮助将不胜感激。
谢谢
您似乎想要筛选 startdate
早于注册月份 15 日的行:
select t.*
from mytable t
where t.startdate <= trunc(enrollmentmonth, 'month') + interval '15' month
如果 enrollmentmonth
始终是一个月的第一天,我们可以分配 trunc()
:
select t.*
from mytable t
where t.startdate <= enrollmentmonth + interval '15' month
我想做的是获取如下所示的记录:
ID NAME STARTDATE ENDDATE EnrollmentMonth
1 PETER 20200705 20200729 20200701
1 TONY 20200730 99991231 20200701
并将其更改为如下所示:
ID NAME STARTDATE ENDDATE EnrollmentMonth
1 PETER 20190101 20200729 20200701
加上那个月15号报名的名字,Peter是7月15号报名的,Tony没有。
想法是在七月只选一个名字。
我很难完成这项工作。任何帮助将不胜感激。
谢谢
您似乎想要筛选 startdate
早于注册月份 15 日的行:
select t.*
from mytable t
where t.startdate <= trunc(enrollmentmonth, 'month') + interval '15' month
如果 enrollmentmonth
始终是一个月的第一天,我们可以分配 trunc()
:
select t.*
from mytable t
where t.startdate <= enrollmentmonth + interval '15' month