Как отобразить разницу данных пользователей в первый приход и во второй?

Извиняюсь, за плохо сформированный вопрос. Но суть сейчас объясню.

Есть таблица с записями где около 200к записей. Все они сформированы в 5 колонок.
В них входит (айди, пол, дата, причина, следствие). Вот пример таких записей:

rE3Hw.png

В таблице по 2 записи для каждого айди. Т.е. например :

88kKA.png
Как видно каждое айди в таблице встречается 2 раза. Одно раньше, другое позже по дате (один пользователь 2 раза в один день не приходил). Как правильно посчитать например такое:
Отобразит всех людей у кого в первый раз Polyps. и normal а во второй раз CRC и Futher Procedure ?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
LaRN
@LaRN
Senior Developer
Можно вот так попробовать:
select t1.id
  from table t1
 where t1.my_column_4 = 'Polyps'
   and t1.my_column_5 = 'normal'
   and exists(select 1
                from table t2
               where t2.id          = t1.id
                 and t2.Date        > t1.Date
                 and t2.my_column_4 = 'CRC'
                 and t2.my_column_5 = 'Futher Procedure')


Если у вас MSSQL, то можно использовать FIRST_VALUE, подробнее тут:
https://docs.microsoft.com/en-us/sql/t-sql/functio...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы