ショッピングモールに顧客(customers)と注文(orders)の 2 テーブルがあります。各注文は どの顧客が出したか(customer_id)、金額(amount)、注文時刻(created_at)を持ちます。 顧客ごとに注文が何件あるかを数える SELECT 文を 1 つ書いてください。結果は 2 つの カラムで出します: - customer_name : 顧客名 - order_count : その顧客が出した注文の件数 顧客名の昇順で並べてください。solution.sql にクエリを書き、「テスト実行」を押すと実際の データベースで実行され、結果の表が表示されます。
PostgreSQL で顧客ごとに注文が何件あるかを数える SELECT 文を書く問題です。顧客の テーブルと注文のテーブルがデータとともに用意されており、「テスト実行」を押すと書いた クエリが本物のデータベースで実行され、結果の表が表示されます。結果は 2 列で、1 列は 顧客名、もう 1 列はその顧客の注文件数です。
この問題は「2 つの表を突き合わせて数えると、何が静かに消えるか」を扱います。件数を 数えるクエリは、よくある数行のデータでは正しく見えても、片方に一致する相手が まったくない場合(注文が 1 件もない顧客など)に答えが変わります。こうしたクエリを 信じる前に、よくある顧客を数人ざっと眺めるだけでなく、すべての顧客が結果に 1 行ずつ 残っているか、実際に動かして自分の目で確かめる必要があります。