現在SQLを学習中で、SQLクエリを実行する必要があります。実装に失敗した特定のクエリが1つあります。SQLクエリの最大値が要約
最も高価な注文を(完全に)持っているクライアントはどれですか?
customerid
およびtotal value
は、結果として返されなければなりません。
表は以下のとおりです。
Salesorderheader
:
salesorderid (int) customerid (int) totaldue (double)
1 32000 3.20000
私が使用するデータベース・システムは、PostgreSQLです。私がこれまでに得たクエリは次のとおりです。total_value
(同じ顧客のすべての注文の合計値)または同様のものとしてラベルされた新しい値が代わりに返さなければならないので、
SELECT totaldue, customerid
FROM salesorderheader
WHERE totaldue = (SELECT max(totaldue) FROM salesorderheader);
このクエリは、間違っています。
SQL関数sum()
とGROUP BY customerid)
を組み合わせて使用する必要がありますが、これまでのところ正しいクエリを実装できませんでした。
ありがとうございます。
注:私は、任意のサイトのルールを破ったか、この記事では、重複今私を聞かせていると私はすぐに
によ、フォーマットについて謝罪
はお返事ありがとうございましたが、あなたのクエリが間違っています。私は同じ顧客のすべての注文の最大値を必要とします。例えば、誰かが120の値を持つ注文が1つあれば、値が50の値を持つ人よりも小さいです。 –
あなたのテーブルは表示されませんが、これはすべきことです - 出力は制限されていません –
まだ結果は間違っています。私は自分のテーブルからスクリーンショットをアップロードしました(無関係の列は避けてください)。私は 'sum()'の使用はクエリ –