SQL SERVER 2012: стандартное отклонение строк на человека - PullRequest
0 голосов
/ 05 июля 2018

У меня есть стол ITEMS:

Itemid, 
ItemName, 
OwnerID

Каждая строка представляет элемент. Владелец может иметь несколько предметов. Я хочу рассчитать стандартное отклонение элементов / строк на владельца. Можно ли рассчитать это, используя встроенную функцию STDEV?

Я пытался это сделать, но это не так:

select STDEV(COUNT(*)) from dbo.ITEMS 
GROUP BY ITEMS.OwnerID

1 Ответ

0 голосов
/ 06 июля 2018

Я думаю

    SELECT STDEV(IQ.cnt) as SDofCounts from --'from' was missing
        (select ITEMS.OwnerID, COUNT(0) as cnt from dbo.ITEMS 
            GROUP BY ITEMS.OwnerID
        ) IQ

+++++++++++++++++

если вы запустили это, чтобы увидеть некоторые данные

        select ITEMS.OwnerID, COUNT(0) as cnt, COUNT(0) * COUNT(0) as EXS   from dbo.ITEMS 
            GROUP BY ITEMS.OwnerID

тогда вы могли бы сделать

SELECT STDEV(IQ.cnt) as SDofCounts, 
       SUM(EXS) as SigmaEXsquare, 
       SUM(1.0 * cnt) / COUNT(0) as MU, 
       SUM(EXS) - (SUM(1.0 * cnt) / COUNT(0)) * (SUM(1.0 * cnt) / COUNT(0)) as Variance, 
       SQRT(SUM(EXS) - (SUM(1.0 * cnt) / COUNT(0)) * (SUM(1.0 * cnt) / COUNT(0))) AS SDcalc
        from
        (select ITEMS.OwnerID, COUNT(0) as cnt, COUNT(0) * COUNT(0) as EXS from dbo.ITEMS 
            GROUP BY ITEMS.OwnerID
        ) IQ
...