programing

Maria DB의 맨 위 행을 제외한 모든 행 선택

randomtip 2023. 1. 25. 08:41
반응형

Maria DB의 맨 위 행을 제외한 모든 행 선택

테이블에서 첫 번째 행을 제외한 모든 행을 반환하려면 어떻게 해야 합니까?sql 문은 다음과 같습니다.

SELECT * FROM article  where article_no 
NOT IN
(SELECT * FROM article   order by article_no  limit 1)

업 소정의 SQL 쿼리는 다음 오류를 발생시킵니다.

이 버전의 MariaDB는 아직 'LIMIT & IN / ALL / ANY / SOME 서브쿼리'를 지원하지 않습니다.

하위 쿼리는 비교에 필요한 열만 선택해야 합니다.

SELECT *
FROM article
WHERE article_no NOT IN (
    SELECT article_no
    FROM article
    ORDER BY article_no
    LIMIT 1
)

위의 쿼리는 MySQL에서는 동작하지만 현재 서브쿼리에서 지원되지 않는 MariaDB에서는 동작하지 않습니다.서브쿼리를 다음과 같이 고쳐 씁니다.

SELECT *
FROM article
WHERE article_no NOT IN (SELECT MIN(article_no) FROM article)

값이 가장 작은 행은 생략합니다.article_no:

SELECT *
    FROM article
    ORDER BY article_no ASC
    LIMIT 999999999
    OFFSET 1;

아마도 당신은 원할 것이다DESC(의 일부ASC)을(를) 생략합니다.

주의해 주세요NOT IN ( SELECT ... )매우 비효율적인 구성입니다.

언급URL : https://stackoverflow.com/questions/47913335/select-all-rows-except-top-row-in-maria-db

반응형