Oracle SQL以百分比范围查找人口

问题描述 投票:0回答:2

我有一张桌子,上面有顾客,购买日期和邮政编码。密钥为(“ customer_id”,“ purchase_dt”和“ zip_cd”)

我正在尝试查找客户从事业务的邮政编码,范围在80%以上,60-80%,40-60%。有人可以帮助我实现查询吗?

with tmp as
(
    select 123 as cust_id, date '2017-01-01' purchase_dt, '10035' zip_cd from dual
    union
    select 1234 as cust_id, date '2019-06-01' purchase_dt, '11377' zip_cd from dual
    union
    select 12345 as cust_id, date '2019-07-01' purchase_dt, '11377' zip_cd from dual
    union
    select 234 as cust_id, date '2019-08-01' purchase_dt, '11377' zip_cd from dual
    union
    select 2345 as cust_id, date '2019-09-01' purchase_dt, '11417' zip_cd from dual

)
select * from tmp;

预期输出:

80%及以上邮政编码:11377等。.>]

我有一张桌子,上面有顾客,购买日期和邮政编码。关键是(customer_id,purchase_dt和zip_cd)我正在尝试查找客户从事业务的邮政编码,范围在80%及以上,例如60 ...

sql oracle
2个回答
0
投票

您可以如下使用averageanalytical function count的组合:


0
投票

[如果客户在多天内进行了购买并且不会重复计算,则将考虑此答案。此外,此响应还会添加问题中讨论的分组:

© www.soinside.com 2019 - 2024. All rights reserved.