안녕하세요 나는 내가 for delete row는하지만, 그것은이다 이 링크에서 쿼리를 발견 데이터베이스에 두 행을 유지하고 다른 모든 행을 을 삭제하려면 , 문제가 mysql 구문 한계 함수를 제공합니다. 이지만 Oracle에서는 제한 없음 변수를 사용할 수 있습니다. 어떻게 할 수 있습니까?행을 삭제하는 동안
DELETE FROM Table
WHERE DateColumn NOT IN (SELECT DateColumn
FROM Table
GROUP BY date(DateColumn)
ORDER BY DateColumn DESC
LIMIT 2);
min (rowid)으로 인해 하나를 제외한 모든 행을 삭제합니다. –
@TommyGrovnes datecolumn에 그룹화되어 있기 때문에 반환합니다 datecolumn에 의해 형성된 그룹의 수만큼의 최소 rowid. – San
모든 행의 날짜가 같으면 한 행만 남기 때문에 행 하나만 남겨 둡니다. (극단적 인 예이지만 여전히 그렇습니다) –