반응형
#1093 표 '표'는 '삭제' 대상과 별도의 데이터 소스로 2회 지정
mysql 쿼리에서 desire 결과를 얻지 못함
많이 찾아봤지만 해결책을 찾지 못했습니다.
DELETE FROM table1 WHERE username NOT IN (select t1.id from table1 as t1
inner join table1 as t2 on t1.username = t2.username and t1.id <= t2.id
group by t1.username , t1.id having count(*) <= 5 order by t1.username , t1.id desc);
출력은 다음과 같습니다.
당신에게 도움이 될 것입니다.
delete from
table1
where
id in ( select
id
from
( select
*,
row_number() over( partition by
username
order by
id desc) as rn
from
table1)
where
rn > 5)
각 사용자 이름에 대해 최신 5개의 ID를 유지하려는 것 같습니다.가장 간단한 방법은 창 기능을 사용한다고 생각합니다.
delete t1
from table1 t1 join
(select t1.*, row_number() over (partition by username order by id desc) as seqnum
from table1 t1
) tt1
on t1.username = tt1.username and
t1.id = tt1.id
where tt1.seqnum > 5;
언급URL : https://stackoverflow.com/questions/57287543/1093-table-table-is-specified-twice-both-as-a-target-for-delete-and-as-a-s
반응형
'source' 카테고리의 다른 글
도커 컨테이너에 오라클 클라이언트 설치 (0) | 2023.08.10 |
---|---|
jQuery를 사용하여 자리 표시자 텍스트 변경 (0) | 2023.08.10 |
Bluebird의 util.toFastProperties 함수는 객체의 속성을 어떻게 "빠르게" 만듭니까? (0) | 2023.08.10 |
A의의 높이방법는 ▁how법A의의 높이방법는 ▁how법A의의 높이방법는 ▁how법??? (0) | 2023.08.10 |
OnItemClickListener가 목록 보기에서 작동하지 않음 (0) | 2023.08.10 |