【发布时间】:2017-11-02 18:28:28
【问题描述】:
我正在开发 Impala (Cloudera),我有两个表,客户和安排。客户表有以下列:
customercrs | customertype|
------------+-------------+
1000 | NP |
100000 | NP |
100001 | NP |
100002 | GROUP |
100023 | GROUP |
100024 | INDIRECT |
安排表:
customercrs | arrangementid|
------------+--------------+
1000 | 11000000361 |
100000 | 11000000370 |
100000 | 11000000434 |
100000 | 11000000426 |
100001 | 11000000418 |
100001 | 11000000400 |
100001 | 11000000396 |
100001 | 11000000388 |
100002 | 11000000591 |
100002 | 11000000582 |
100023 | 11000000574 |
100024 | 11000000566 |
100024 | 11000000558 |
我想计算每种客户类型的安排百分比。比如:
customertype | percentage |
-------------+-------------+
NP | 62% |
GROUP | 23% |
INDIRECT | 15% |
我尝试了以下 sql 查询,但没有成功。有什么想法吗?
select customertype, count(*)/(select count(*) from arrangements)
from customers as a, arrangements_sample as b
where a.customercrs = b.customercrs
group by a.customertype
谢谢!!!
【问题讨论】:
-
查询有什么问题?
-
AnalysisException: 选择列表中不支持子查询这是我得到的异常