Разбивка выборки на интервалы.

NickNeo

Есть выборка. Нужно разбить ее на (к примеру) 3 интервала (не больше) и посчитать для каждого интервала среднее число по какому-либо полю и границы интервала.Например выборка:time | flt00:05 | 10.400:10 | 12.200:15 | 7.300:20 | 401:15 | 15.701:20 | 2101:35 | 14.3В этом случае получим:intrvl | avrg00:05 - 00:15 | 9.9700:20 - 00:15 | 13.5701:35 - 01:35 | 14.3
9 ответов

NickNeo

какая-то у вас странная логика этих самых интервалов.


NickNeo

В этом случае получим:intrvl | avrg00:05 - 00:15 | 9.9700:20 - 00:15 | 13.5701:35 - 01:35 | 14.3
Поясните пожалуйста механизм формирования интервала. И уж в постановке-то не делайте ошибок. Интервал - это два поля. Дата начала и дата окончания.


NickNeo

Упс, ошибся. Исправляю:Например выборка:time | flt00:05 | 10.400:10 | 12.200:15 | 7.300:20 | 401:15 | 15.701:20 | 2101:35 | 14.3В этом случае получим:intrvl | avrg00:05 - 00:15 | 9.9700:20 - 01:20 | 13.5701:35 - 01:35 | 14.3


NickNeo

Можно и 2 поля. На самом деле это не столь важно


NickNeo

А принцип разбиения на интервалы?


NickNeo

Механизм разбивки: все записи выборки по количеству разбиваются на 3 интервала. Первые 2 вмещают по 3 записи, последняя 3-я остаток. Причем количество изначальных записей конечно может быть разным.


NickNeo

Механизм разбивки: все записи выборки по количеству разбиваются на 3 интервала. Первые 2 вмещают по 3 записи, последняя 3-я остаток. Причем количество изначальных записей конечно может быть разным.
А что значит "первые"? По какому критерию они "первые"?


NickNeo

Первые из-за сортировки по времени.


NickNeo

Первые из-за сортировки по времени.
give your version...for 2005: there are new analitical functions to do your jobfor 2000: take a look at local FAQ for implementing rownumbers (+ some tweaking)