MySQL의 UNION 및 ORDER BY를 사용하여 정렬된 결과 마스터하기
MySQL의 SELECT
을 사용하여 여러 UNION
문의 데이터를 결합하는 것은 강력하지만 개별 섹션 정렬을 유지하는 것은 까다로울 수 있습니다. 이 가이드에서는 UNION
쿼리
귀하의 시나리오에는 단일 테이블에서 다양한 기준에 따라 데이터를 검색한 다음 고유한 제목 아래에 UNION
을 사용하여 결과를 통합하는 작업이 포함됩니다. 해결책은 다음과 같습니다.
각 SELECT
문에 "순위" 열(의사 열)을 도입합니다. 이 숫자 값은 각 섹션 내의 표시 순서를 나타냅니다.
<code class="language-sql">SELECT 1 AS Rank, id, add_date FROM Table UNION ALL SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ...</code>
다음으로, 이 결합된 쿼리를 하위 쿼리 내에 캡슐화합니다. 그런 다음 기본 쿼리는 이 하위 쿼리를 데이터 소스로 사용하여 먼저 '순위' 열을 기준으로 정렬한 다음 선택한 정렬 기준(예: 'id' 또는 'add_date')을 기준으로 정렬합니다.
<code class="language-sql">SELECT * FROM ( SELECT 1 AS Rank, id, add_date FROM Table UNION ALL SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ... ) AS Subquery ORDER BY Rank, id; -- Or ORDER BY Rank, add_date;</code>
이 방법을 사용하면 UNION
작업에서 정의한 각 섹션 내에서 정확한 정렬을 보장하여 깔끔하고 정리된 결과 집합을 제공할 수 있습니다.
위 내용은 MySQL에서 UNION을 사용할 때 각 섹션 내에서 결과를 어떻게 정렬할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!