假设我有这张包含客户订单的表格:
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
为了节省邮费(对我们而言),如果我们可以在一张打印单上将多个订单发送到同一个人、同一地址,那将是理想的选择。为此,我需要 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)
(对于无望的伪代码真的很抱歉..只是想表达我的想法)。