본문 바로가기
MySql

MySQL에서 마지막 N 개 행 선택

by 베이스 공부 2021. 1. 31.
반응형

기본 키 id 라는 열 내에서 MySQL 데이터베이스의 마지막 50 개 행을 선택하고 싶습니다. 목표는 행이 ID 를 기준으로 ASC 순서로 정렬되어야한다는 것이므로이 쿼리가 작동하지 않습니다.

SELECT 
    *
FROM
    `table`
ORDER BY id DESC
LIMIT 50;

또한 행을 조작 (삭제) 할 수 있다는 점이 놀랍기 때문에 다음 쿼리도 작동하지 않습니다.

SELECT 
    *
FROM
    `table`
WHERE
    id > ((SELECT 
            MAX(id)
        FROM
            chat) - 50)
ORDER BY id ASC;

질문 : 조작 할 수 있고 ASC 순서 인 MySQL 데이터베이스에서 마지막 N 개 행을 검색하는 방법은 무엇입니까?

 

해결 방법

 

하위 쿼리로 수행 할 수 있습니다.

SELECT * FROM (
    SELECT * FROM table ORDER BY id DESC LIMIT 50
) sub
ORDER BY id ASC

이렇게하면 에서 마지막 50 개 행을 선택한 다음 오름차순으로 정렬합니다.

 

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

 

 

반응형

댓글