Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, можно ли с помощью select получить следующее: есть таблица, содержащая к примеру 10000 записей, как получить набор данных содержащий: (Rec1+Rec2+Rec3+Rec4+Rec5)/5 + (Rec6+Rec7+Rec8+Rec9+Rec10)/5 + ... т.е. получить из 10000 записей всего 2000. Rec-значение поля соответствующей записи. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 06:24 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
А как Вы отличаете записи друг от друга и чем определяется порядок их следования? Есть соответствующий ключ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 06:33 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
Есть поле типа datatime, данные пишутся в таблицу в строго определенные промежутки времени и задача состоит в том, чтобы не показывать каждое значение на графике, а сделать апроксимацию. Наверно здесь больше подходит view (но хотелось бы select). Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 06:43 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
в вашей таблице необходимо завести поле, отвечающее за группировку данных, те примерно так: Rec Group_rec Rec1 1 Rec2 1 Rec3 1 Rec4 1 Rec5 1 rec6 2 ..... ... тогда запрос будет выглядеть элементарно: select sum(Rec)/count(*) from Table group by Group_rec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 07:03 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
а поле, отвечающее за группировку, можно получить подсчитав например разность в минутах для каждой записи от какой-нибудь определённой даты. Или еще целочисленно его поделить. Например среднее за 5 минут: select dateadd(mi,datediff(mi,'19651031',date) % 5,'19651031' ), avg(rec) from tbl group by datediff(mi,'19651031',date) % 5, dateadd(mi,datediff(mi,'19651031',date) % 5,'19651031' ), ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 07:35 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
Пока я собирался, уже ответили... 2 asdf: Если "строго определенные промежутки времени" достаточно строги, чтобы можно было из значения поля datetime вычислить к какой пятерке (шестерке, семерке и т.д.) относится запись, то дальше все просто: select некая_функция_от_даты, avg(Rec) from table group by некая_функция_от_даты 2 Denis: по-моему запрос, в Вашем случае, должен выглядеть так: select Group_rec, avg(Rec) from table group by Group_rec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 07:53 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
я хотел бы чтобы коэфициент усреднения был величиной переменной, но видимо придется делать так как вы говорите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 07:57 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
2 asdf: Обратите внимание, что переменность будет зависеть от того, как Вы оформите функцию, преобразующую дату в группу. Просто передавайте ей количество строк группировки в виде параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 08:07 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
Совершенно согласен с MadDog, просто как то вылетело из головы avg(). Но в принципе Sum()/count(*) делает то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 08:22 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
select avg(field) from Table group by Group_rec дает тот результат который должен получить, а вот с select dateadd(mi,datediff(mi,'19651031',date) % 5,'19651031' ), avg(rec) from tbl group by datediff(mi,'19651031',date) % 5, dateadd(mi,datediff(mi,'19651031',date) % 5,'19651031' ) ничего не получается, т.е. он считает что-то но совсем не то что нужно. Если можно обясните по подробнее как добить это выражение. Может лучше по E-mail? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 10:21 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
пардон, бес попутал вместо % надо конечно писать / а по E-mail может и лучше, но для этого его надо как минумум оставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2002, 11:40 |
|
||
|
Можно ли сформировать такой Select?
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо, получил то что хотел: select convert(datetime,avg(convert(decimal(13,,fld_time))), avg(fld_dat) from my_table group by datediff(ss,'20020212',fld_time)/2 --(/3, /4, /5, /6.....) мастера, если здесь есть ошибки, сообщите пожалуйста. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2002, 03:39 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32023071&tid=1823876]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 459ms |

| 0 / 0 |
