在我的SQL期末考试,还有就是效果的问题:SQL - WHERE子句基于平均值吗?
显示客户ID,次数客户已经下了订单,平均装运量客户已经支付四舍五入至小数点后两位。只显示平均运费大于5美元的结果。
我的回答:
SELECT c.customer_id,
COUNT(o.order_id) AS 'number_of_orders',
ROUND(AVG(o.ship_amount), 2) AS 'ave_shipping_amount'
FROM customers c JOIN orders o
ON c.customer_id = o.customer_id
GROUP BY c.customer_id;
我试图WHERE ave_shipping_amount > 5
的GROUP BY
以上,但随着ave_shipping_amount列不存在这种没有工作。
我也试过WHERE ROUND(AVG(o.ship_amount), 2) > 5
,但这是一个不正确的使用组功能。
这个问题将如何解决?这看起来基本够用了,但是我正在疯狂地尝试弄明白。
看看文档:http://dev.mysql.com/ doc/refman/5.7/en/select.html – axiac
优秀的第一个问题在这里!这是一个非常明确的问题,包括相关信息,并清楚地显示你在发布之前自己弄清楚事情的努力。我希望更多的新用户做出这样的努力。谢谢! –