У меня есть таблица, содержащая веса с течением времени, которые я хочу, чтобы оценить, как поток:борется с SQL агрегатной функции
Scan TimeStamp Position Weight
01 14/11/01 12:00 0 0
01 14/11/01 12:10 10 1.6
02 14/11/01 13:00 0 2.6
02 14/11/01 13:10 10 4.2
...
Теперь я хочу, чтобы вычислить поток во время сканирования (начало до конца). Мой запрос выглядит следующим образом:
Select MeanTime, TheFlow From
(Select AVG(TheTimeStamp) as MeanTime From flow Where ScanNumber=73),
(Select Weightdiff/TimeSpan as TheFlow From
(Select (MaxWeight - MinWeight) as WeightDiff From
(Select Weight as MAXWEIGHT from Flow Where ScanNumber=73 HAVING "POSITION"=MAX("POSITION")),
(Select Weight as MINWEIGHT from FLOW Where ScanNumber=73 HAVING "POSITION"=MIN("POSITION")),
(Select (MaxTime - MinTime) * 24 as TimeSpan From
(Select MAX("THETIMESTAMP") as MaxTime From FLOW Where ScanNumber=73),
(Select MIN("THETIMESTAMP") as MinTime From Flow Where ScanNumber=73))));
Я получаю сообщение об ошибке:
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Что случилось?
Чтобы прояснить мой вопрос, мне нужно, чтобы извлечь следующую информацию из данных:
- среднее время между началом (например, 12:00.) И в конце, например. 12:10) сканирования (среднее время) , например. Scannumber 01), т.е. 12:05
- мне нужна разница в весе между конечным и начальным
- Я должен вычислить «поток» от веса дифф и время между началом и концом
- Все в все, что нужно два данных. Время и поток, которые я хочу построить (поток во времени).
Что вы подразумеваете под «вычислением потока во время сканирования»? Вы имеете в виду рассчитать разницу в весе между началом и остановкой? Можете ли вы предоставить желаемый результат? –
Желаемый выход будет выглядеть так: 14/11/01 12:05 1.6 и 14/11/01 13:05 1.6 (Среднее время сканирования, вес при концевом весе при запуске) – llnck
Какая у вас система баз данных и какая версия ? –