20 개의 항목이있는 테이블이 있다고 가정 해 보겠습니다. 이들은 날짜순으로 정렬됩니다 (날짜는 열 이름> _>). 내림차순입니다. 가장 최근의 항목과 15 번째로 오래된 항목 만 선택하면 어떻게됩니까?단일 쿼리에서 두 개의 특정 mysql 테이블 행 선택
나는 다음과 같은 쿼리
SELECT * FROM mytable m WHERE col1 = "zzz" ORDER BY date DESC LIMIT 15;
20 개의 항목이있는 테이블이 있다고 가정 해 보겠습니다. 이들은 날짜순으로 정렬됩니다 (날짜는 열 이름> _>). 내림차순입니다. 가장 최근의 항목과 15 번째로 오래된 항목 만 선택하면 어떻게됩니까?단일 쿼리에서 두 개의 특정 mysql 테이블 행 선택
나는 다음과 같은 쿼리
SELECT * FROM mytable m WHERE col1 = "zzz" ORDER BY date DESC LIMIT 15;
두 개의 SELECT들
의 UNION을 사용할 필요가 있습니다를 수행하여 모든 15 개 결과를 얻고있다(SELECT * FROM mytable m WHERE col1 = "zzz" ORDER BY date LIMIT 1, 15)
UNION
(SELECT * FROM mytable m WHERE col1 = "zzz" ORDER BY date DESC LIMIT 1)
UPDATE : 괄호
UNION을 사용할 때 하나의 ORDER BY 만 허용됩니다. –
당신은 옳았 습니다만, 방금 추가 한 괄호가 붙어 있습니다. 그냥 시도했습니다. – marianboda
당신이 몇 가지 조합 선택 마법을하지 않는 한 당신은 두 개의 쿼리에서만 이것을 할 수 있다고 믿습니다. LIMIT 1 및 LIMIT 1,15 – Robus