복붙노트

[SQL] SQL의 모든 그룹의 선택 첫 행 [중복]

SQL

SQL의 모든 그룹의 선택 첫 행 [중복]

나는 두 개의 테이블이있다.

1> SM_Employee

2-> SM_SalesRepWorkflow

이 테이블에 의해 나는 CurrentMonth 및 CurrentYear에 대한 SalesRepId에 의해 SM_SalesRepWorkflow 순서에서 모든하여 SalesRep 세부 사항의 첫 번째 행을 선택해야합니다.

Workflowid SalesRepId QuantityAssigned QuantityLeft 년 월

그래서 내가이 원하는 결과

그래서하여 SalesRep 많은 워크 플로우가있을 수 있습니다. 하지만 난 현재 월 및 연도의 모든하여 SalesRep에 대한 첫 번째를 원한다.

해결법

  1. ==============================

    1.이 같은 ROW_NUMBER () 함수를 사용할 수 있습니다 :

    이 같은 ROW_NUMBER () 함수를 사용할 수 있습니다 :

    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;
    

    바이올린 데모

  2. ==============================

    2.* 난 후 편집 할 수 있습니다 떨어져 난 그래서 만약 질문을 이해하는 약간의 문제가있어,하지만 당신은 SELECT 같은 일을 할 것 같습니다 FROM SM_SalesRepWorkflow WHERE Workflowid = 최신 워크 플로의 ID입니다 최신. 아마도 당신은 쿼리의 최신 외부를 결정한다는 점에서 대신 쿼리에서 일을 가져올 수 있는가?

    * 난 후 편집 할 수 있습니다 떨어져 난 그래서 만약 질문을 이해하는 약간의 문제가있어,하지만 당신은 SELECT 같은 일을 할 것 같습니다 FROM SM_SalesRepWorkflow WHERE Workflowid = 최신 워크 플로의 ID입니다 최신. 아마도 당신은 쿼리의 최신 외부를 결정한다는 점에서 대신 쿼리에서 일을 가져올 수 있는가?

  3. from https://stackoverflow.com/questions/16529701/select-first-row-of-every-group-in-sql by cc-by-sa and MIT license