0
이 문제를 해결하는 가장 효율적인 방법을 찾고 있습니다.GROUP BY SQL을보다 효율적으로 해결 SQL Server AdventureWorks
AdventureWorks 데이터베이스를 사용하여 쿼리 SQL을 만들어야합니다. 대신 0이 MinUnitPrice 및 MaxUnitPrice의
declare @fecha datetime
set @fecha = GETDATE()-1365
declare @MPid int
set @MPid = 50
select OH.CustomerID, OH.SalesPersonID,
'Month' = Month(OH.OrderDate),
PP.Name,
pp.MakeFlag,
'CantProduct' = SUM(SOD.OrderQty),
'MinUnitPrice' = 0 ,
'MaxUnitPrice' = 0
from sales.SalesOrderHeader OH JOIN sales.SalesOrderDetail SOD ON OH.SalesOrderID = SOD.SalesOrderID
JOIN Production.Product PP ON SOD.ProductID = PP.ProductID
where OH.OrderDate > DATEADD(year,-1,@fecha) and pp.ProductID > @MPid
group by OH.CustomerID, OH.SalesPersonID, Month(OH.OrderDate), PP.Name, pp.MakeFlag
다음과 같이이 쿼리 SQL은 최대 및 최소 가격을 얻어야한다, 필드를 반환해야합니다. 임시 테이블을 사용하지 않고도 해결할 수 있습니까? 아니면 가장 효율적인 솔루션이 될 것입니까? 감사
은 그냥'MAX'를 사용하는 솔루션과'MIN' 집계 함수, _exactly_ 당신은'SUM' 집계 함수 –
감사 사용한으로하지만 그런 식의 최대 값과 최소값 항상 동일하고 필요한 것은 아닙니다. – Ever
실제로 무엇을했는지에 대한 설명이 없습니다. _ 최대 및 최소 가격을 얻으십시오 ._ 최소 및 최대 무엇을? 영업 사원의 최대/최소 가격을 원하십니까? 또는 영업 사원/고객 조합? 원하는 것을 설명해주십시오. –