>데이터 베이스 >MySQL 튜토리얼 >ROW_NUMBER()를 사용하여 SQL에서 각 그룹의 첫 번째 행을 선택하는 방법은 무엇입니까?

ROW_NUMBER()를 사용하여 SQL에서 각 그룹의 첫 번째 행을 선택하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-22 06:13:14604검색

How to Select the First Row of Each Group in SQL Using ROW_NUMBER()?

각 그룹의 첫 번째 레코드 행 가져오기

SQL에서는 각 고유 그룹의 첫 번째 레코드를 검색하는 것이 일반적인 작업입니다. 이 상황을 고려하면 SM_Employee와 SM_SalesRepWorkflow라는 두 개의 테이블이 있습니다. 이 두 테이블을 결합하여 SalesRepId를 기준으로 정렬된 이번 달 및 연도의 각 영업 담당자에 대한 SM_SalesRepWorkflow의 첫 번째 정보 행을 선택하려고 합니다.

이를 달성하기 위해 ROW_NUMBER() 함수의 기능을 활용할 수 있습니다. 쿼리에 대한 자세한 설명은 다음과 같습니다.

<code class="language-sql">SELECT *
FROM(
  SELECT workflowid,
         salesRepId,
         quantityAssigned,
         quantityLeft,
         month,
         year,
         ROW_NUMBER()
           OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber
  FROM sm_salesRepWorkflow
)
WHERE rownumber = 1;</code>
  • 하위 쿼리는 salesRepId를 기준으로 각 영업 담당자의 행 번호를 계산하고 워크플로 ID를 기준으로 오름차순으로 정렬합니다.
  • 그런 다음 기본 쿼리는 행 번호가 1인 행만 포함하도록 하위 쿼리를 필터링하여 각 salesRepId에 대한 첫 번째 행을 검색합니다.

ROW_NUMBER() 함수를 사용하면 지정된 조건을 준수하면서 각 영업 담당자에 대한 초기 레코드를 효율적으로 선택할 수 있습니다. 이 기술은 각 그룹의 첫 번째 행을 그룹화하고 선택해야 하는 다양한 시나리오에서 유용합니다.

위 내용은 ROW_NUMBER()를 사용하여 SQL에서 각 그룹의 첫 번째 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.