我有以下查询,它返回给我的模式是数据集中重复次数最多的值
select top 1 TargetPriceRec as mode
from PricingRecurring
Group By TargetPriceRec order by Count(*) desc
我从中得到了重复次数最多的值,但问题是如果没有重复值,我仍然会在数据集中获得最高值。如果数据集中没有重复值,并且如果有多个重复值,我如何获得一个空值,因为没有单一模式,我仍然得到一个空值。
我有以下查询,它返回给我的模式是数据集中重复次数最多的值
select top 1 TargetPriceRec as mode
from PricingRecurring
Group By TargetPriceRec order by Count(*) desc
我从中得到了重复次数最多的值,但问题是如果没有重复值,我仍然会在数据集中获得最高值。如果数据集中没有重复值,并且如果有多个重复值,我如何获得一个空值,因为没有单一模式,我仍然得到一个空值。
您可以使用以下方式获取所有模式:
select top (1) with ties TargetPriceRec as mode
from PricingRecurring
Group By TargetPriceRec
order by Count(*) desc;
为了您想要的结果:
select (case when count(*) = 1 then max(TargetPriceRec) end) as mode
from (select top (1) with ties TargetPriceRec
from PricingRecurring
Group By TargetPriceRec
order by Count(*) desc
) m