![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по запросу (:)) SQL
yanker © (2004-09-28 14:44:00)Имеется БД по суммарным пробегам автомобилей. Причем каждый день пробег пишется несколько раз. Требуется сгруппировать записи по номеру автомобиля, дате и суточному пробегу.
SELECT
a.numfac,
int(a.datetime),
MAX(a.allDistance)
FROM length_table a
GROUP BY a.numfac,int(a.datetime)
Этот скрипт не учитывает пробег автомобиля за предыдущие дни (т.е. в результате получаем не суточный пробег, а максимальный пробег на текущий день). Хотелось бы учитывать максимальный пробег за предудущий день.
Спасибо...
Johnmen (2004-09-28 18:05:00) [1]Способов несколько. Напр. типа того:
SELECT
a.numfac,
int(a.datetime),
MAX(a.allDistance)-MAX(b.allDistance) as S
FROM length_table a, length_table b
WHERE a.numfac=b.numfac AND
int(a.datetime)=int(b.datetime-1.0)
GROUP BY a.numfac,int(a.datetime)
yanker (2004-09-28 17:32:00) [2]MS Access
Johnmen (2004-09-28 16:06:00) [3]СУБД то какая ?
yanker (2004-09-28 16:02:00) [4]А как спросить, чтобы получилось
yanker (2004-09-28 15:59:00) [5]А как нужно спросить, чтобы получилось?
Vlad (2004-09-28 15:37:00) [6]
> yanker (28.09.04 15:06) [4]
т.е. насколько я понял тебе нужно сгруппировать записи таким образом, чтоб в поле "пробег" получилась величина:
MAX(Пробег_за_текущий день) - MAX(пробег_за_предыдущий день)
?
Если так, то боюсь что одним запросом не получится...
yanker (2004-09-28 15:06:00) [7]в БД пишется суммарный пробег, т.е. пробег за всю жизнь автомобиля
Vlad (2004-09-28 14:54:00) [8]Неясно, какой показатель пишется в базу?
Фактический пробег, т.е. каждый раз пишут число которое показывает спидометр а/м, или же дельту между одной ДатойВременем и другой?
Sergey13 (2004-09-28 14:53:00) [9]>Хотелось бы учитывать максимальный пробег за предудущий день.
Надо передать свое желание в БД. Т.е. добавить в запрос
where a.datetime=предудущий день
Fishka (2004-09-28 14:46:00) [10]Интересно, почему MAX в запросе, а не SUM?