получить поля, которые находятся в начале и конце даты в sql - PullRequest
0 голосов
/ 12 апреля 2020

Я надеюсь, что вы можете мне помочь. Мне нужно получить строки, которые удовлетворяют условию, что если 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

1 Ответ

1 голос
/ 12 апреля 2020

Вы можете использовать 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' ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...