2017-11-17 10 views
1

내가 열 job, gender (TRUE 여성, FALSE 남성)과 salary있는 테이블 inquiry이 값. 열이 고유하지 않은 경우 salaryNULL이 포함될 수 있습니다. 여성용 job (TRUE) 당 최소 salary을 찾는 방법은 무엇입니까? 예를 들어 항목이 [pilot ; TRUE ; 100], [pilot ; FALSE ; 100], [pilot ; TRUE ; NULL][pilot ; FALSE ; 120] 인 경우 아래 코드는 [pilot ; 100]을 두 번 대신 두 번 반환합니다.고유 결과는 MIN과 NULL은

SELECT TOP (100) PERCENT T.JOB, T.SALARY 
FROM INQUIRY AS T INNER JOIN 
    (SELECT JOB, MIN(SALARY) AS SL 
    FROM INQUIRY AS T 
    WHERE (SALARY IS NOT NULL) AND (GENDER = 1) 
    GROUP BY JOB) AS x ON x.JOB = T.JOB AND x.SL = T.SALARY 
+1

태그를 MySQL에서 SQL 서버로 변경했습니다. SQL-server는 키워드 TOP –

답변

0

집계 함수는 null의를 무시합니다. 조인을 잃어 버리면 OK입니다 :

SELECT job, MIN(salary) 
FROM  inquiry 
WHERE gender = 1 
GROUP BY job