按总计分组

时间:2014-05-02 07:30:05

标签: sql teradata

一直试图将我们客户的视图汇总到一个列的总和,然后计算属于该总和的客户数量。

可能更容易以表格形式显示。我的表格设置如下

customer  registration state
---------------------------
  a            100
  a            50
  b            100
  c            50
  d            100
  d            100
  e            100
  e            50

我如何将其更改为;

reg state     customer count
----------------------------
  200            1
  150            2
  100            1
  50             1

1 个答案:

答案 0 :(得分:2)

您必须分两步完成此操作。首先找到每个客户的总注册状态。然后计算总数相同的客户。

select reg_state,
       count(customer)
  from (
        select customer,
               sum(registration_state) as reg_state
          from your_table
         group by customer
       ) x
 group by reg_state;