0

次の質問をされました。

合計金額が $25 以下のすべての注文について、注文番号と合計金額を表示します。

次のことをしようとしていますが、エラー メッセージが表示されます。

SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
WHERE (orderTotal < 25) OR (orderTotal = 25) 
GROUP BY orderNumber 

エラーメッセージが大量に表示されるので、明らかに何か間違ったことをしています。助言がありますか?

4

3 に答える 3

3

一見するとHAVING SUM(orderPrice * orderQuantity) <= 25、WHERE 条件の代わりに使用する必要があると思います。

したがって、クエリは次のようになります。

SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
GROUP BY orderNumber
HAVING SUM(orderPrice * orderQuantity) <= 25
于 2013-10-03T09:13:39.077 に答える
0

これを使用してください:

SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
  FROM OrderProduct
 GROUP BY orderNumber 
HAVING orderTotal <= 25;

この Fiddleをチェックしてください。

ORACLE データベースでは、Radu Gheorghiuバージョンを使用します。

于 2013-10-03T09:18:57.083 に答える
0

集計関数の条件をチェックするには、group by でhaving句を使用する必要があります

SELECT orderNumber, SUM(orderPrice * orderQuantity) AS orderTotal
FROM OrderProduct
GROUP BY orderNumber 
having orderTotal <= 25
于 2013-10-03T09:13:52.583 に答える