Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
LightR
Зарегистрирован: 03.06.2003 Сообщения: 9
|
Добавлено: Вт Июн 03 2003 16:12 Заголовок сообщения: как обработать запрос и вернуть ограниченное количество записей |
|
|
Всем привет, может быть кто то уже сталкивался с такой задачей и поможет с ее решением. Есть таблица в ней два поля: ВРЕМЯ, АНАЛОГОВОЕ ЗНАЧЕНИЕ Количество записей 1000. Оператор обращается с запросом: select ВРЕМЯ, АНАЛОГОВОЕ ЗНАЧЕНИЕ from table where ВРЕМЯ > X and ВРЕМЯ |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Вт Июн 03 2003 18:15 Заголовок сообщения: Повтори без знака "меньше" (-) |
|
|
- |
|
Вернуться к началу |
|
|
LightR
Зарегистрирован: 03.06.2003 Сообщения: 9
|
Добавлено: Ср Июн 04 2003 10:13 Заголовок сообщения: Re: Повтори без знака "меньше" (-) |
|
|
Всем привет, может быть кто то уже сталкивался с такой задачей и поможет с ее решением. сервер: MSSQL2000.
Есть таблица в ней два поля: ВРЕМЯ, АНАЛОГОВОЕ ЗНАЧЕНИЕ Количество записей 1000. Оператор обращается с запросом: select ВРЕМЯ, АНАЛОГОВОЕ ЗНАЧЕНИЕ from table where ВРЕМЯ в пределах от X и до Y
Скажем оператор запросил данные за промежуток времени и ему будет возвращено 100 записей. Вот здесь и возникает задачка. Оператору должно возвратиться только 20 записей
Как разбить запрашиваемое время оператором на интервалы времени и по этим интервалам найти среднее или макс значение ? После этого можно вернуть уже усредненные значения, но количеством 20.
Есть особенность: запросы можно адрессовать только к таблице или "view". Возможно ли при обращении к "view" запускать "stored proc" и возвратить результат в "view" ?
С Уважением, Руслан |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Ср Июн 04 2003 12:29 Заголовок сообщения: В подзапросе: время переводишь в числовой вид, делишь его на интервалы целочисленным делением; в основном запросе: используешь |
|
|
- |
|
Вернуться к началу |
|
|
LightR
Зарегистрирован: 03.06.2003 Сообщения: 9
|
Добавлено: Ср Июн 04 2003 13:28 Заголовок сообщения: Re: В подзапросе: время переводишь в числовой вид, делишь его на интервалы целочисленным делением; в основном запросе: использу |
|
|
Борис, можешь небольшой кусок кода как это сделать. хотябы общий скилет.
Спасибо, Руслан |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Ср Июн 04 2003 14:05 Заголовок сообщения: Учите матчасть, г-да |
|
|
select момент, max(поле1), avg(поле2), ... from ( select int((время-время0)/интервал) as момент, поле1, поле2, ... ) group by момент;
время0 -- любой момент времени, например, 01/01/1900 00:00:01 |
|
Вернуться к началу |
|
|
|