提问者:小点点

用于选择多列中不同值的Sql查询


我有一个表,比方说,它有两列邮政编码和客户编码。 假设有多个customer code具有相同的zipcode。 我需要获取上述两列,使得一列包含唯一的邮政编码,第二列包含对应邮政编码的唯一客户代码的数量。

这里的问题是,对于一个邮政编码,可能有多个唯一的客户(就像一个客户可能在同一个邮政编码的商店里逛了不止一次,但我需要把他们当作一个客户来对待)

如何在SQLite中实现。 我执行了以下SQL查询,只得到一个zip code

select distinct(C.pin_code),count(distinct(C.customer_code)) from customers as C inner join Sales as S on S.customer_code=C.customer_code

输出为

我不知道这是怎么来的。如果你需要更多的信息,请让我知道在评论。


共1个答案

匿名用户

您正在描述分组依据:

select zip_code, count(distinct customer_code)
from t
group by zip_code;

我不知道你的询问和这个问题有什么关系。 这个问题显式地涉及一个包含两列的表。

注意:您可能不需要count(distinction)--除非在一个邮政编码中有多行用于单个客户。