顧客の注文を含む次のテーブルがあるとします。
orderid Name Email Address_1 Address_2 City* Zip*
---------------------------------------------------------------------------
1 James j@j.com 12 Foo St Fooville 1001
2 Alice a@a.com 92 Bla Road Sville 3933
3 James j@j.c0m 12 Foo Street Fooville 1001
4 james king j@j.com 12 Foo St Fooville 1001
5 Anth ann@h.com 12 Foo Street Stacker 2932
6 James j@j.com 12 American St GiftCity 0283
(私たちにとって)送料を節約するために、複数の注文を同じ人に、同じ住所に 1 つの印刷伝票で送ることができれば理想的です。このためには、ID 1、3、4 の一意のレコードが必要です。
City
およびZip
コードは、ユーザーが入力することはできません (ドロップダウンから選択) 。
理想的には、クエリによって次のものが返されることを望みます。
orderid Name Email Address_1 Address_2 City* Zip* Count
---------------------------------------------------------------------------
1 James j@j.com 12 Foo St Fooville 1001 3
2 Alice a@a.com 92 Bla Road Sville 3933 1
5 Anth ann@h.com 12 Foo Street Stacker 2932 1
基本的に、SQL アルゴリズムは次の列で同様のグループ化を行っています: Name
, Email
, concat(Address_1 and Address_2)
.
アドバイスや解決策をいただければ幸いです。
する方法があれば
GROUP BY similar((concat(name,email,address_1)
(絶望的な疑似コードについては本当に申し訳ありません..私の考えを伝えようとしているだけです)。