Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Вопрос по запросу (:)) SQL   Найти похожие ветки 

 
yanker   (2004-09-28 14:44) [0]

Имеется БД по суммарным пробегам автомобилей. Причем каждый день пробег пишется несколько раз. Требуется сгруппировать записи по номеру автомобиля, дате и суточному пробегу.
 SELECT
  a.numfac,
  int(a.datetime),
  MAX(a.allDistance)

 FROM length_table a
 GROUP BY a.numfac,int(a.datetime)

Этот скрипт не учитывает пробег автомобиля за предыдущие дни (т.е. в результате получаем не суточный пробег, а максимальный  пробег на текущий день). Хотелось бы учитывать максимальный пробег за предудущий день.

Спасибо...


 
Fishka   (2004-09-28 14:46) [1]

Интересно, почему MAX в запросе, а не SUM?


 
Sergey13 ©   (2004-09-28 14:53) [2]

>Хотелось бы учитывать максимальный пробег за предудущий день.
Надо передать свое желание в БД. Т.е. добавить в запрос  
where a.datetime=предудущий день


 
Vlad ©   (2004-09-28 14:54) [3]

Неясно, какой показатель пишется в базу?
Фактический пробег, т.е. каждый раз пишут число которое показывает спидометр а/м, или же дельту между одной ДатойВременем и другой?


 
yanker   (2004-09-28 15:06) [4]

в БД пишется суммарный пробег, т.е. пробег за всю жизнь автомобиля


 
Vlad ©   (2004-09-28 15:37) [5]


> yanker   (28.09.04 15:06) [4]

т.е. насколько я понял тебе нужно сгруппировать записи таким образом, чтоб в поле "пробег" получилась величина:
MAX(Пробег_за_текущий день) - MAX(пробег_за_предыдущий день)
?
Если так, то боюсь что одним запросом не получится...


 
yanker   (2004-09-28 15:59) [6]

А как нужно спросить, чтобы получилось?


 
yanker   (2004-09-28 16:02) [7]

А как спросить, чтобы получилось


 
Johnmen ©   (2004-09-28 16:06) [8]

СУБД то какая ?


 
yanker   (2004-09-28 17:32) [9]

MS Access


 
Johnmen ©   (2004-09-28 18:05) [10]

Способов несколько. Напр. типа того:

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)



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1097517696
Makhanev A.S.
2004-10-11 22:01
2004.10.24
Мерцание ListView...


14-1096540377
Sergey_F
2004-09-30 14:32
2004.10.24
Какое ограничение имеет свойство компонента TQuery–SQL по длине?


14-1096528414
PVOzerski
2004-09-30 11:13
2004.10.24
Еще о USB


14-1096920754
pipll
2004-10-05 00:12
2004.10.24
Задача на общую программистскую логику


14-1097140661
stone
2004-10-07 13:17
2004.10.24
Альтернативная история