주문 선이 구별되는 것을 기준으로 얼마나 많은 주문 선이 있는지 계산해야합니다. 각 OrderNo는 다르지만 OrderLineNo는 각 주문에 대해 동일합니다. 즉, 주문에 9 개 라인이 있으면 주문 라인 번호는 1-9가됩니다. 다른 주문에 3 개의 주문 라인이있는 경우에도 동일하게 1-3이됩니다.
그러나 orderlineno에는 동일한 주문 번호가있을 수 있습니다.이 경우 한 번만 계산하고 싶습니다.
예:
OrderNo OrderLineNo
987654 1
987654 2
987654 2
987654 3
987654 4
987654 5
987654 6
987654 7
여기의 총 주문 라인은 7입니다. 2 개의 주문 라인이 2 개 있으며 한 번만 계산되기를 원합니다.
SQL Server 2014를 사용하여 가능합니까?
COUNT에 DISTINCT를 추가 할 수 있습니다.
select OrderNo, count(distinct OrderLineNo)
from tab
group by OrderNo;
또는 OrderLineNo가 항상 1로 시작하고 간격없이 증가하는 경우 :
select OrderNo, max(OrderLineNo)
from tab
group by OrderNo;
편집하다:
주석에 따르면 OrderNo 당 개수가 아니라 글로벌 개수입니다. 파생 테이블을 사용해야합니다.
select count(*)
from
(select distinct OrderNo, OrderLineNo
from tab
) as dt;
또는
select sum(n)
from
(select OrderNo, max(OrderLineNo) as n
from tab
group by OrderNo
) as dt;
또는
select sum(Dist_count)
from
( select OrderNo,count(distinct OrderLineNo) as Dist_count
from Table1
group by OrderNo
) as dt
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다