내가 잘못한 실제 취업 인터뷰 SQL 질문이기 때문에 그룹에 일반적 관심사가 될 것이라고 생각했습니다. 나는 가까이에 있다고 생각하지만 누군가가 정확한 답을 제공 할 수 있습니까? 위의 표 (커피), 브랜드, 모델, 가격 및 브랜드의 최고 가격을 각 모델의 가격의 비율을 표시하는 코드를 제공을 위해그룹 별 SQL 값의 최대 값 대 그룹 별 최대 값 값
Brand | Model | Price
Braun | KF7150 | 98
Braun | KF7000 | 70
Braun | KF400 | 55
Krups | KM730 | 67
Krups | KM4689 | 130
Krups | EC311 | 50
가장 가까운 2 소수점 반올림.
이 코드는 단순히 전체적인 최대 가격 (130)을 선택하기 때문에 잘못되었습니다.
SELECT Brand, Model, Price, ROUND(Price/(SELECT MAX(Price) FROM Coffee),2)
as Price_to_Brand_Highest
FROM Coffee
ORDER BY Brand;
자기 조인을 시도했지만 각 가격이 1로 나뉘어 모든 비율이 1로 돌아 왔습니다.
SELECT C1.Brand, C1.Model, C1.Price, ROUND(C1.Price/(SELECT MAX(C2.Price)
FROM Coffee where C1.Brand=C2.Brand),2) as Price_to_Brand_Highest
FROM Coffee C1
JOIN Coffee C2 on C1.Model=C2.Model
GROUP BY C1.Model
ORDER BY C1.Brand;
제거 '(= C1.Model C2.Model' 커피 C2에 가입 GROUP'을 C1.Model' 의해 C2' '로 서브 쿼리 테이블 별칭 1.0 분자 또는 분모 곱 상관 하위 쿼리에서) 정수 나누기를 피하기 위해. –