Главная страница
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.025 c
1-1097136517
Arnold
2004-10-07 12:08
2004.10.24
Поиск в TreeView


3-1095924545
Ш-К
2004-09-23 11:29
2004.10.24
EventAlerter в MSSQL (как в IB)


14-1096634877
Aleckceych
2004-10-01 16:47
2004.10.24
Пожалуйста, скиньте ссылки


4-1095675542
ArhDD
2004-09-20 14:19
2004.10.24
Record HWND


11-1081756279
Delphi5.01
2004-04-12 11:51
2004.10.24
KOLSocket & File not found: objects.dcu