> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 UNION을 사용할 때 각 섹션 내에서 결과를 어떻게 정렬할 수 있습니까?

MySQL에서 UNION을 사용할 때 각 섹션 내에서 결과를 어떻게 정렬할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2025-01-11 11:39:42
원래의
447명이 탐색했습니다.

How Can I Sort Results Within Each Section When Using UNION in MySQL?

MySQL의 UNION 및 ORDER BY를 사용하여 정렬된 결과 마스터하기

MySQL의 SELECT을 사용하여 여러 UNION 문의 데이터를 결합하는 것은 강력하지만 개별 섹션 정렬을 유지하는 것은 까다로울 수 있습니다. 이 가이드에서는 UNION 쿼리

의 논리적 그룹을 유지하면서 특정 열(예: 'id' 또는 'add_date')을 기준으로 각 섹션 내에서 결과를 정렬하는 방법을 보여줍니다.

귀하의 시나리오에는 단일 테이블에서 다양한 기준에 따라 데이터를 검색한 다음 고유한 제목 아래에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿