SQL SERVER 2012: стандартное отклонение строк на человека

У меня есть таблица ITEMS:

Itemid, 
ItemName, 
OwnerID

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

Я пробовал это, но это не выглядит нормально:

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

sql,sql-server,sql-server-2012,standard-deviation,stdev,

0

Ответов: 1


1 принят

я думаю

    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
SQL, SQL-сервер, SQL-сервер-2012, стандартное отклонение, STDEV,
Похожие вопросы