1
私はとextended_price
の列を持つorder_lines
テーブルを持っています。私はすべての注文の延長価格の合計の平均よりも高い延長価格の合計を持つ注文を知りたい。これは私が得たクエリです:ネストされたサブクエリでの集計へのアクセス
SELECT order_id, SUM(extended_price) AS "sumtotal"
FROM order_lines e
GROUP BY order_id
HAVING SUM(extended_price) >
(SELECT AVG(c.sumtotal) AS "avgtotal"
FROM
(SELECT order_id, SUM(extended_price) AS "sumtotal"
FROM order_lines
GROUP BY order_id) c
)
ORDER BY sumtotal
私たちは、私がavgtotal
を計算するために使用さsumtotal
を取得するサブクエリc
を持って見ることができるように。しかし、メインクエリと同じクエリを実行してsumtotal
を再度計算し、avgtotal
と比較します。標準のSQL機能だけを使用してより良い方法がありますか?私はPostgreSQLを使用しています。
ありがとう!最近私はSQLで遊んでいることはほとんどないので、ウィンドウの機能に気づいていませんでした。アグリゲートを集約するには最適な方法です。 –