반응형
다음과 같은 LoginTime 테이블이 있습니다.
id | user_id | datetime
1 | 1 | 2011-01-19 18:51:01
2 | 1 | 2011-01-19 18:51:02
3 | 1 | 2011-01-19 18:51:03
4 | 1 | 2011-01-19 18:51:04
5 | 1 | 2011-01-19 18:51:05
6 | 1 | 2011-01-19 18:51:06
7 | 1 | 2011-01-19 18:51:07
8 | 1 | 2011-01-19 18:51:08
9 | 1 | 2011-01-19 18:51:09
10 | 2 | 2011-01-19 18:51:10
5 개의 최신 레코드 ( 'datetime'열 기준) 만 유지하고 user_id = 1
인 모든 이전 레코드를 삭제하고 싶습니다.
하나의 mysql 쿼리로 이것을 달성 할 수 있습니까?
해결 방법
나는 이것이 효과가있을 것이라고 믿는다 ...
DELETE FROM LoginTime WHERE id IN (
SELECT id
WHERE user_id = 1
ORDER BY datetime DESC
LIMIT 0, 5
)
참조 페이지 https://stackoverflow.com/questions/4720996
반응형
'MySql' 카테고리의 다른 글
MySQL 하위 쿼리없이 MySQL의 GROUP BY보다 ORDER BY에 우선 순위 부여 (0) | 2020.10.21 |
---|---|
MySQL JSON 데이터에 대한 SQL과 유사한 쿼리를 허용하는 자바 스크립트 라이브러리? (0) | 2020.10.21 |
MySQL에서 "insert ignore"와 replace의 성능 차이는 무엇입니까? (0) | 2020.10.21 |
MySQL 데이터베이스의 모든 테이블을 삭제하는 방법은 무엇입니까? (0) | 2020.10.21 |
MySQL Windows 7의 MySQL 5에서 쿼리 로그 활성화 (0) | 2020.10.21 |
댓글