Нет строк после определенного значения
Date time Record ID Action
9/9/2018 7:03 102 Support
9/9/2018 7:03 102 hello
9/10/2018 7:03 103 Fetch it
9/10/2018 7:03 103 Ask it
9/10/2018 7:03 103 enable it
9/9/2018 5:03 104 support
9/9/2018 4:03 104 Fetch it
9/11/2018 7:03 105 Support
9/11/2018 8:03 105 Support
9/12/2018 5:03 106 end it
9/12/2018 6:03 106 Fetch it
9/12/2018 7:03 106 Support
Чего я пытаюсь добиться, так это
Подсчет идентификатора записи, при котором последняя запись (дата и время в порядке возрастания) в столбце действия должна иметь поддержку только один раз, и после поддержки для каждого идентификатора не должно быть записи после поддержки
В приведенной выше таблице только идентификаторы записей 106 и 104 имеют поддержку только один раз в столбце действий, и нет записи после поддержки, упорядоченной по возрастанию по дате и времени. Поэтому мне нужно сосчитать (2)/ отобразить 104 и 106 ..
Может кто-нибудь помочь с этим!!..
1 ответ
Решение
Хммм. Один метод использует агрегацию и having
:
select recordid
from t
group by recordid
having min(case when action = 'Support' then datetime end) = max(datetime);
По сути, это говорит о том, что первый раз, когда "Поддержка" видна, это самое позднее время для recordid
,