Главная страница
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
8-1082992417
Zevs
2004-04-26 19:13
2004.10.24
Delphi SWF SDK


8-1088526424
lota
2004-06-29 20:27
2004.10.24
Азбука Морзе


14-1096987202
Evgenius
2004-10-05 18:40
2004.10.24
Уважаемые программисты, зацените сайт пожалуйста...


14-1096627432
User_OKA
2004-10-01 14:43
2004.10.24
По мотивам Ночного дозора


1-1097473055
Alekzzzz
2004-10-11 09:37
2004.10.24
Иконка из exe