나는 다음과 같은 데이터베이스 스키마가 : BuyVehicle.bvvin
이 Vehicle.vin
및 BuyVehicle.bvssn
에서 외래 키WHERE 절에 MySQL 집계가 있습니까?
Customer(ssn, name, gender, city)
Vehicle(vin, make, model, year)
BuyVehicle(bvssn, bvvin, price, year)
이 Customer.ssn
에서 외래 키입니다. 나는 특정 차량의 평균보다 큰 가격으로 차량을 구입 한 사람들의 이름을 선택하려고 노력하고 있습니다. 나는 WHERE
절에 price > avg_price
조건을 입력하는 것을 시도했다
SELECT AVG(price) as avg_price, v.maker, v.model, v.year FROM BuyVehicle bv, Vehicle v, Customer c WHERE v.vin = bv.BVVIN AND c.ssn = bv.bvssn GROUP BY maker, model, year;
:
지금까지, 나는 차량의 평균 계산하는 방법을 확인한
SELECT AVG(price) as avg_price, v.maker, v.model, v.year FROM BuyVehicle bv, Vehicle v, Customer c WHERE v.vin = bv.BVVIN AND c.ssn = bv.bvssn AND bv.price > avg_price GROUP BY maker, model, year;
을하지만 MySQL은 나에게 말한다 avg_price
열이 존재하지 않습니다. 이 문제에 대한 잘못된 접근법을 취하고 있습니까?
원하는 추측하고있어 무엇을 얻을 수있는 평균 하위 쿼리에 대한 어디 할 필요가 의심 : '알 수없는 열'bv.price을 '에서'을 가진 clause'' –
bv.price를'필드를 선택하십시오. AVG (가격)을 avg_price, v.maker, v.model, v.year, bv.price'로 선택하십시오. –
매우 흥미로운 문제입니다. 이 쿼리는 성공하지만 빈 집합을 반환합니다. 그러나 불평등을 미만으로 반올림하면 평균 가격보다 낮은 가격으로 고객이 구매 한 행을 반환합니다. –