会社のトップ クライアントを検索できる SQL ステートメントを作成しようとしています。上位顧客とは、1 回の購入上限額だけでなく、同社の全顧客の中で最も購入額 (合計購入額) が多い顧客と定義されます。これを解決するにはどうすればよいですか?私はSQLの経験があまりありませんが、これまでに行ったことは次のとおりです。
SELECT CLIENT.CLIENTNO, CLIENT.CLIENT NAME, PURCHASE.AMOUNT
FROM PURCHASE, CLIENT
WHERE PURCHASE.CLIENTNO = CLIENT.CLIENTNO
GROUP BY CLIENT.CLIENTNO, CLIENT.CNAME, PURCHASE.AMOUNT;
これは、すべての候補の結果のみを表示します。金額の最大値を探しているのではなく、最高の支払いをしているクライアントの合計額を探しているので、どうすれば始められますか?
誰かが答えることができれば、これを追加の質問として置きます..テーブルの1つの制約を文字列のセットに制限するように変更するにはどうすればよいですか? 現在は varchar2(25) ですが、「string」「string2」のようにのみ有効にしたいのですが、助けていただければ幸いです。