MySQL에서 마지막 10개 행을 선택하기 위해 SELECT 문과 Limit 개념이 있는 하위 쿼리를 사용할 수 있습니다. 다음은 예시입니다.
테이블 생성 중.
mysql> 테이블 생성 Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> );쿼리 OK, 영향을 받는 행 0개(0.75초)
테이블에 레코드 삽입하기.
mysql> Last10RecordsDemo values(1,'John'),(2,'Carol'),(3,'Bob'),(4,'Sam'),(5,'David'),( 6,'Taylor');쿼리 확인, 6행 영향(0.12초)기록:6 중복:0 경고:0mysql> insert into Last10RecordsDemo values(7,'Sam'),(8,'Justin'),(9, 'Ramit'),(10,'Smith'),(11,'Clark'),(12,'Johnson');Query OK, 영향을 받는 6개 행(0.14초)기록:6 중복:0 경고:0사전>모든 기록을 표시합니다.
mysql> select *from Last10RecordsDemo;다음은 출력입니다.
+------+---------+| 아이디 | 이름 |+------+---------+| 1 | 존 || 2 | 캐롤 || 3 | 밥 || 4 | 샘 || 5 | 데이비드 || 6 | 테일러 || 7 | 샘 || 8 | 저스틴 || 9 | 라밋 || 10 | 스미스 || 11 | 클락 || 12 | Johnson |+------+---------+12행 세트(0.00초)다음은 테이블에서 마지막 10개의 레코드를 가져오는 구문입니다. 여기서는 LIMIT 절을 사용했습니다.
SELECT * FROM ( SELECT * FROM yourTableName ORDER BY id DESC LIMIT 10)Var1 ORDER BY id ASC;이제 위의 쿼리를 구현해 보겠습니다.
mysql> SELECT * FROM ( -> SELECT * FROM Last10RecordsDemo ORDER BY id DESC LIMIT 10 -> )Var1 -> -> ORDER BY id ASC;다음은 최근 10개의 레코드를 표시하는 출력입니다.
+------+---------+| 아이디 | 이름 |+------+---------+| 3 | 밥 || 4 | 샘 || 5 | 데이비드 || 6 | 테일러 || 7 | 샘 || 8 | 저스틴 || 9 | 라밋 || 10 | 스미스 || 11 | 클락 || 12 | Johnson |+------+---------+10개 행 세트(0.00초)SELECT 문의 도움으로 두 레코드를 모두 일치시킬 수 있습니다.
총 기록(12)
최근 10개 레코드(10개)