program tip

MySQL에서 마지막 N 개 행 선택

radiobox 2020. 8. 7. 08:18
반응형

MySQL에서 마지막 N 개 행 선택


나는 열 이름에서 MySQL 데이터베이스에서 마지막 50 개 행을 선택하려는 ID 입니다 기본 키 . 목표는 행으로 분류해야한다는 것입니다 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 개 행을 table선택한 다음 오름차순으로 정렬합니다.


SELECT * FROM table ORDER BY id DESC,datechat desc LIMIT 50

채팅이 전송 된 날짜 (및 시간)를 저장하는 날짜 필드가 있거나 행당 점진적으로 (DESC 별 정렬) 또는 desinscrementally (ASC 별 정렬) 데이터로 채워진 필드가있는 경우 두 번째 열로 입력합니다. 데이터가 순서 여야합니다.

그게 나를 위해 일한 것입니다 !!!! 도움이 되길 바랍니다 !!!!


SELECT * FROM table ORDER BY id DESC LIMIT 50

자원을 절약하고 하나의 쿼리를 작성하면 중첩 쿼리를 작성할 필요가 없습니다.


select * from Table ORDER BY id LIMIT 30

참고 : * id는 고유해야합니다. * 30쿼리에서 를 대체하여 반환되는 행 수를 제어 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/12125904/select-last-n-rows-from-mysql

반응형