본문 바로가기
MySql

MySQL MySql의 테이블에서 마지막 레코드 (조건에 따라)를 삭제하는 방법

by 베이스 공부 2020. 10. 22.
반응형

다음과 같은 LoginTime 테이블이 있습니다.

id | user_id | datetime
1  |   1     | 2011-01-17 18:51:05
2  |   1     | 2011-01-18 18:51:05  
3  |   1     | 2011-01-19 18:51:05  
4  |   2     | 2011-01-19 18:51:05  

user_id = 1 의 마지막 레코드를 삭제하고 싶습니다. 사용자의 마지막 기록은 datetime 으로 인식 할 수 있습니다.

하나의 쿼리로 어떻게 할 수 있습니까?

 

해결 방법

 

user_id (예 : WHERE user_id = 1)로 테이블을 필터링 한 다음 시간별로 정렬 (예 : ORDER BY datetime) 한 다음 쿼리를 한 항목 (예 : LIMIT 1)으로 제한하고이 쿼리의 결과를 삭제해야합니다. 마지막에 다음과 같은 쿼리를 얻을 수 있습니다.

DELETE FROM LoginTime WHERE user_id=1 ORDER BY datetime DESC LIMIT 1

 

참조 페이지 https://stackoverflow.com/questions/4714239

 

 

반응형

댓글