如果我有下表,如何编写SELECT
查询以返回任何TYPE,其中值为1的行的百分比大于50%?所以在这种情况下,它只返回B,因为TYPE B的66%的行的值为1.
TYPE VALUE ------------- A 0 A 0 A 1 A 0 B 0 B 1 B 1 C 0 C 0 C 0
Gordon Linof.. 6
您可以使用条件聚合:
select type from t group by t having avg(case when value = 1 then 1.0 else 0.0 end) > 0.5;
您可以在avg()
表达式中包含表达式select
以获得比例.
您可以使用条件聚合:
select type from t group by t having avg(case when value = 1 then 1.0 else 0.0 end) > 0.5;
您可以在avg()
表达式中包含表达式select
以获得比例.