我被问到以下问题:
显示总金额小于或等于 25 美元的所有订单的订单号和订单总金额。
我正在尝试执行以下操作,但收到错误消息:
SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
WHERE (orderTotal < 25) OR (orderTotal = 25)
GROUP BY orderNumber
我收到一条错误消息,所以很明显我做错了什么。有什么建议么?
我被问到以下问题:
显示总金额小于或等于 25 美元的所有订单的订单号和订单总金额。
我正在尝试执行以下操作,但收到错误消息:
SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
WHERE (orderTotal < 25) OR (orderTotal = 25)
GROUP BY orderNumber
我收到一条错误消息,所以很明显我做错了什么。有什么建议么?
乍一看,我认为您必须使用HAVING SUM(orderPrice * orderQuantity) <= 25而不是 WHERE 条件。
所以,你的查询应该是这样的:
SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
GROUP BY orderNumber
HAVING SUM(orderPrice * orderQuantity) <= 25
使用这个:
SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
GROUP BY orderNumber
HAVING orderTotal <= 25;
看看这个小提琴。
在 ORACLE 数据库上使用Radu Gheorghiu的版本。