我有下表,我想写一个查询,以便它显示具有事件描述的门票"解决";并且还示出了票得到它的事件的最后描述,并且如果它没有事件的描述;"解决";它只向我展示了门票获得的事件的最后描述
Ticket Id EventId EventDate EventDescription
1 1 2021-01-06 create
1 2 2021-01-07 resolve
2 3 2021-01-06 create
3 4 2021-01-15 create
1 5 2021-01-09 close
1 6 2021-01-12 Re-open
2 7 2021-01-10 Assign
2 8 2021-01-22 resolve
下表将帮助您找到我想要的结果
Ticket Id EventId EventDate EventDescription
1 2 2021-01-07 resolve
3 4 2021-01-15 create
1 6 2021-01-12 Re-open
2 8 2021-01-22 resolve
如果我的问题不清楚,我很抱歉,因为我的英语很差
您可以使用row_number
来识别每个TicketId 的行
with r as (
select * , Row_Number() over(partition by ticketid order by eventid desc) rn
from t
)
select TicketId, EventId, EventDescription
from r
where rn=1 or EventDescription='resolve'
order by eventid