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
我想要实现的是
记录ID的计数,其中操作列中的最后一条记录(日期时间以升序排列)应该仅支持一次,并且在支持每个ID之后应该没有记录
在上表中,仅记录ID 106和104在操作列中仅具有一次支持,并且在支持按日期时间升序排列后没有记录,因此我需要计数(2)/显示104和106 ..
有人可以帮忙吗!! ..
答案 0 :(得分:2)
嗯。一种方法使用聚合和having
:
select recordid
from t
group by recordid
having min(case when action = 'Support' then datetime end) = max(datetime);
从本质上讲,这是第一次看到“支持”是recordid
的最新时间。