首页 > 解决方案 > 根据第一列中的唯一值计算第二列中值的出现次数

问题描述

解释这一点的最简单方法是在 Oracle SQL 中给出这个表......

+-----------------+------------+
| COUNTRY         | VALUE      |  
+-----------------+------------+
| England         | A          |
| England         | A          |
| England         | A          |
| England         | B          |
| England         | B          |
| France          | A          |
| France          | A          |
| France          | B          |
+-----------------+------------+

我将如何产生这个结果,即 COUNTRY 列中唯一值的 A 和 B 的计数

+-----------+------------+------------+
| COUNTRY   | COUNT(A)   | COUNT(B)   |   
+-----------+------------+------------+
| England   | 3          | 2          |
| France    | 2          | 1          |
+-----------+------------+------------+

我确定这已经回答了,我只是不知道如何问这个问题。谢谢

标签: sqloraclepivot

解决方案


select country,
       sum( case when value = 'A' then 1 else 0 end ) numA,
       sum( case when value = 'B' then 1 else 0 end ) numB
  from table
 group by country

是条件聚合的一个例子


推荐阅读