Sql查询获取摘要计数

Sql查询获取摘要计数,sql,oracle,select,group-by,count,Sql,Oracle,Select,Group By,Count,我在甲骨文中有如下表格 水果颜色 -------+------- 苹果红 苹果绿 樱桃红 我需要下面的总结,只有那些有不同的颜色 水果颜色 ------+------- 苹果2 只需使用聚合,在子句中有一个过滤器: select fruit, count(*) colors from mytable group by fruit having count(*) > 1 这假设(水果、颜色)上没有重复项,如示例数据所示。否则,您需要计数(不同颜色)而不是计数(*): 这是一个分组依据,用

我在甲骨文中有如下表格

水果颜色
-------+-------
苹果红
苹果绿
樱桃红
我需要下面的总结,只有那些有不同的颜色

水果颜色
------+-------
苹果2

只需使用聚合,在
子句中有一个过滤器

select fruit, count(*) colors
from mytable
group by fruit
having count(*) > 1
这假设
(水果、颜色)
上没有重复项,如示例数据所示。否则,您需要
计数(不同颜色)
而不是
计数(*)


这是一个
分组依据
,用于过滤聚合结果:

select fruit, count(distinct color) as colors
from the_table
group by fruit
having count(distinct color) > 1;

count(distinct color)
中的
distinct
使它只计算每个水果的不同颜色。

有点扭曲。。我们能得到如下输出吗。。(列标题)水果|红|绿|黑。。(第1排)苹果| 1 | 1 | 0
select fruit, count(distinct color) as colors
from the_table
group by fruit
having count(distinct color) > 1;