postgreget sql中日期开始和结束处的字段



我希望你能帮助我。我需要得到满足条件的行,如果ass_id在开始(20200101(和结束(20200501(:

id id_asig日期
1 123 20200101
2 123 20200501
3 124 20200101
4 125 20200101
5 125 20200501
6 126 20200203
7 126 20200501

预期结果:


id_asign
123
125

您可以使用exists:

select t.id_asg
from t
where t.asig_date = '20200101' and
exists (select 1
from t t2
where t2.id_asg = t.id_asg  and t2.asig_date = '20200501'
);

如果您想要id_asg值,其中最小值为20200101,最大值为20200501,则使用聚合:

select t.id_asg
from t
group by t.id_asg
having min(t.asig_date) = '20200101' and
max(t.asig_date) = '20200501' ;

相关内容

最新更新