Существует несколько проблем:
используется агрегатная функция AVG()
, но в запросе нет GROUP BY
предложения
the where
предложение относится к агрегированному столбцу; для этого идентификатора
необходимо заключить в двойные кавычки условие having
; MySQL вместо них нужны обратные пометки
Итак:
SELECT Product_Finish AS `Desk Finish`, AVG(Standard_Price) AS `Average Price`
FROM Product_T
GROUP BY Product_Finish
HAVING `Average Price`> 300
ORDER BY `Average Price` DESC;
Еще лучше было бы использовать идентификаторы, которые не требуют цитирования. Также стоит отметить, что, в отличие от MySQL, не все базы данных поддерживают псевдонимы столбцов в предложении having
(в этом случае вам нужно повторить агрегатное выражение). Это стандарт SQL:
SELECT Product_Finish AS desk_finish, AVG(Standard_Price) AS average_price
FROM Product_T
GROUP BY Product_Finish
HAVING AVG(Standard_Price) > 300
ORDER BY average_price DESC;