SQL 삭제는 한 열의 중복만을 고려합니다

질문:

저는 SQL 분야의 경험이 없어서 어리석은 문제에 직면했습니다.구글에서도 해결 방안을 찾았지만 내 코드에서 사용할 수 없었다.
SQL 쿼리의 중요한 부분은 다음과 같습니다.
SELECT 
    *
FROM a_table
WHERE ACTIVITY_TYPE = 'FORWARDED' or ACTIVITY_TYPE = 'ON_HOLD'
ORDER BY ORDERID DESC, ACTIVITY_TIME DESC, ACTIVITY_TYPE DESC;
지금은 DISTINCT를 사용하고 싶지만 ORDERID 열에서만 사용합니다.
따라서 저는 모든 ORDERID의 첫 줄을 보존하고 아래의 모든 내용을 삭제하고 싶습니다.
만약 내가 R, 파이톤, 파워비, 그리고 그것을 어떻게 해결해야 할지 생각하고 있다면, 나는 그것이 그렇게 어렵지 않을 것이라고 확신하지만, 나는 그것에 적응할 수 없다.길을 좀 잃었어요...
당신의 도움에 대단히 감사합니다.
현재 결과는 다음과 같습니다.
enter image description here
희망의 결과:
enter image description here

답안

주문서 id마다 한 줄을 원하시면 ROW_NUMBER():
SELECT a.*
FROM (SELECT a.*,
             ROW_NUMBER() OVER (PARTITION BY ORDERID ORDER BY ACTIVITY_TIME DESC) as seqnum
      FROM a_table a
      WHERE ACTIVITY_TYPE IN ('FORWARDED', 'ON_HOLD')
     ) a
WHERE seqnum = 1;