同じ都市に住む顧客のペア(自己結合)

上級

問題文

問題

**同じ都市(city)に住む顧客の組み合わせ(ペア)**を出力してください。 (Alice, Carol)(Carol, Alice) は同じペアなので、名前が辞書順で前の人を customer_a、後の人を customer_b として1回だけ出します。 並び順は、都市の昇順・customer_a の昇順・customer_b の昇順とします。

出力する列は次の3つ、この順序・この列名で出してください:

列名内容
city都市
customer_aペアの一方(名前が前)
customer_bペアのもう一方(名前が後)
ヒントを見る

同じテーブルを2回使う「自己結合」です。customers a JOIN customers b として、 a.city = b.city で同じ都市どうしを結びます。 同じ人どうし・逆順の重複を避けるため、結合条件に a.name < b.name を加えます。

スキーマ

使用データベース:PostgreSQL 16
customers5
idnamecity
1AliceTokyo
2BobOsaka
3CarolTokyo
4DaveNagoya
5EveOsaka
products6
idnamecategoryprice
1KeyboardPeripheral3000
2MousePeripheral1500
3MonitorDisplay20000
4CableAccessory500
5WebcamPeripheral4000
6DeskFurniture15000
orders6
idcustomer_idorder_date
112024-01-10
212024-02-15
322024-01-20
432024-03-05
522024-03-22
642024-02-28
order_items11
idorder_idproduct_idquantity
1111
2122
3231
4321
5343
6412
7451
8531
9542
10621
11652

SQL

⌘⏎ / Ctrl+Enter で実行
エディタを読み込み中…

「実行」を押すと、ここにSQLの実行結果が表示されます。