아래 쿼리는 필요한 정보를 반환합니다. 두 열은 상태 번호이고 두 번째 열은 총 숫자입니다.SQL - 두 개의 일치하는 값을 반환합니다.
SELECT T.number as 'Number',T.total as 'highest service level'
FROM(
SELECT PARTNER_WORKORDER.statusNo as number, count(statusNo) as total
FROM PARTNER_WORKORDER
inner join PARTNER_WORKORDER_ADDRESS
ON PARTNER_WORKORDER.salesOrderNo = PARTNER_WORKORDER_ADDRESS.salesorder_no
WHERE orderDt <= '2012-11-20 00:00:00.000' AND country_code <> 'US'
group by PARTNER_WORKORDER.statusNo
)
AS T
지금해야 할 일은 가장 합계가 높고 일치하는 상태 번호 만 반환하는 것입니다. MAX가 가장 높은 합계를 줄 것이라고 알고 있지만 그 합계와 일치하는 상태 번호를 얻는 방법을 모르겠습니다. 나는 CASE를 사용할 필요가 있다고 생각하지만, 나는 그런 경험이 전혀 없다.
도움을 주시면 감사하겠습니다.
단일 레코드를 반환하려고하십니까? 또는 각각의 'Number'에 대한 최대 레코드를 원하십니까? – paqogomez
DBMS는 무엇입니까? –