SQL查询帮助 - 由于Average_Fee而无法运行

时间:2015-04-24 18:24:08

标签: mysql sql oracle

我无法运行此查询,我不知道该怎么做才能修复它?不会因为Average_Fee而运行。

SELECT LENGTH, AVG(RENTAL_FEE) AVERAGE_FEE
FROM MARINA_SLIP
WHERE AVERAGE_FEE < 3500
GROUP BY LENGTH
ORDER BY LENGTH DESC;

2 个答案:

答案 0 :(得分:1)

每当使用avg(rental_fee)列表中的函数时,您需要使用AS子句为SELECT分配别名。

您无法在同一块内引用别名。此外,汇总功能的where是使用having条款完成的 - 它已应用于group

SELECT LENGTH, AVG(RENTAL_FEE) AS AVERAGE_FEE 
FROM MARINA_SLIP 
GROUP BY LENGTH 
HAVING AVG(RENTAL_FEE) < 3500
ORDER BY LENGTH DESC;

答案 1 :(得分:0)

您需要对聚合值使用having子句

SELECT LENGTH, AVG(RENTAL_FEE) AVERAGE_FEE
FROM MARINA_SLIP
GROUP BY LENGTH
HAVING AVERAGE_FEE < 3500
ORDER BY LENGTH DESC;