-
MSSQL заявка!!!
Здравейте!
Въпроса ми е как да извлека записи от последната седмица, които са общо около 50000 и същите да бъдат групирани през определен интервал (в случая, всеки ден) и това групиране да се записва на един ред. Така за всички записи да имам 7 реда, като те са средни стойности и на база тях да направя графика, която да се наблюдава от служителя при всеки рефреш. Целта е да се следят резултатите, но тъй като са много записи е възможно да не се отчете в някой момент от служителя, затова за леснота е необходимо през определено време да се групират и да се прави средна стойност на същите.
Предварително благодаря!
P.S. "SELECT TOP 1000 AVG(a) AS a, MIN(dt) AS b, MIN(id) AS c
FROM K2"
пробвах по този начин, но не се приема.
Не знам как да задам датата, така че всяка да се групира поттделно, при всеки рефреш от служителя, примерно в exel
-
Re: MSSQL заявка!!!
трябва да има GROUP BY след това и името на колонката по която групираш
ако имаш примерно 3 колони ид, месец, сума и искаш сумата по месеци пишеше следното
select sum(`сума`) from `table` group by `месец`
ако искаш дай си реалните колони и един примерен ред с данни да ти я напиша точно как да е
-
Re: MSSQL заявка!!!
Ако в таблицата имаш колона с име 'DateColumn' от тип DateTime
правиш така
SELECT AVG(a)
FROM ORDERS
GROUP BY DATEPART(WeekDay, DateColumn)
т.е. групираш по ден от седмицата колоната DateColumn.
В случая на функцията DATEPART и е казано да изчисли номера на деня от седмицата - WeekDay.
Получават се 7 реда за 7-те дни от седмицата.
Видях че говориш за Excel.
Това което съм написал е за - на MSSQL сървер.
За Excel - трябва да видиш някаква подобна функция.
-
Re: MSSQL заявка!!!
Blagodaria Vi!
Naistina mnogo se zatrudnih s tazi zadacha i eto kakvo napravih:
"SELECT TOP 100 PERCENT AVG(a) , AVG(b) , AVG(c) , MIN(dt)
FROM K2
GROUP BY DATEPART(dd, dt)
ORDER BY MIN(dt)",
sled koeto napravih Local Package, za da moje da se prehvaliat dannite v Exel i da se nabliudavat