R3T*_*ech 1 sql sql-server group-by average
我有一点sql的问题.我需要一个查询的帮助,其中可以通过id计算所有行和组.我需要这个,因为我需要获得登录的平均值.
表有这个:MRr,日期
MNr 3 => 5个条目
MNr 4 => 2个条目
MNr 5 => 7个条目
现在我需要得到所有MNr,条目数超过所有平均值的50%.像:(5+2+7)/3 = 4,666并且结果是MNr 3和MNr 5.
我尝试过这样的东西,AVG(COUNT(date))但它不起作用.
我希望你们知道我的意思......很难为我解释对不起.
格尔茨
您似乎希望MNR具有超过MNR的平均登录次数.这是一个使用窗口函数的方法:
select mnr, cnt
from (select mnr, count(*) as cnt, avg(1.0*count(*)) over () as avg
from table t
group by mnr
) t
where cnt > avg;
Run Code Online (Sandbox Code Playgroud)