ここでのクエリで何が間違っているのか理解できません。
SELECT ORDER#, SUM(PAIDEACH * QUANTITY) AS TOTAL
FROM ORDERITEMS
WHERE TOTAL > 39.9
GROUP BY ORDER#
ORDER BY TOTAL DESC;
これは私が得続けるエラーです:
"TOTAL": invalid identifier
HAVING
集計関数に述語が必要なため、句を使用できます
SELECT ORDER#, SUM(PAIDEACH * QUANTITY) AS TOTAL
FROM ORDERITEMS
GROUP BY ORDER#
HAVING SUM(PAIDEACH * QUANTITY) > 39.9
ORDER BY TOTAL DESC;
句でエイリアスを使用する場合はWHERE
、クエリを別の句の中に配置できますSELECT
。
SELECT *
FROM
(
SELECT ORDER#, SUM(PAIDEACH * QUANTITY) AS TOTAL
FROM ORDERITEMS
GROUP BY ORDER#
) x
WHERE x.TOTAL > 39.9
ORDER BY x.TOTAL DESC;
order by 2 desc
(列への数値参照は1で始まります)
ネストされたクエリを記述having
したり、クエリに句を追加したりする必要はありません。数字で列を参照するだけですが、クエリを変更するときに変更することを忘れないでください;-)