vikkiv
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Fsp050 - ну прямо так и будет, например есть у тебя какой-то случайный набор данных, тогда: Код: select a grp,avg(b)mean,count(b)n,avg(b)-(1.96*stdev(b)/power(count(b),0.5))CL_low,avg(b)+(1.96*stdev(b)/power(count(b),0.5))CL_up from(values('cat1',934871),('cat3',404193),('cat2',884252),('cat3',410836),('cat1',768064),('cat3',873219),('cat1',460553), ('cat1',605901),('cat3',142404),('cat1',667695),('cat2',753180),('cat3',614076),('cat3',691901))x(a,b)group by a order by 1 | можешь условия проверки добавить чтобы null не выскакивали если кол-во строк для группы = 1 Добавлено: ..это если конечно уверен что распределение действительно нормальное Добавлено: да, ещё типы данных на нескольких шагах (count/power и др. по необходимости) конвертировать до нужной точности придётся |