Ich arbeite mit einem großen Datensatz, den ich innerhalb eines bestimmten Zeitfensters zusammenführen muss.
Zum Beispiel einiger Zeilen aus dem Datensatz:So gruppieren Sie die Zeit nach Sekunden (MS Access) - Conflation
symbol LAST_TRADE_TIME CUR BID OFFER VOLUME
DBK 2010-12-05 11:34:57 38 37.99 38 0
DBK 2010-12-05 11:34:57 38 37.99 38 0
DBK 2010-12-05 11:34:57 38 37.99 38 100
DBK 2010-12-05 11:34:58 38 37.99 38.005 0
Was ich beabsichtige, eine kleine Anzahl von Zeilen (Zeitscheiben) zu tun abrufen. Jeder von ihnen stellen eine Periode von 300 Sekunden:
SELECT Min(LAST_TRADE_TIME) AS ConflatedDate, Min(CUR)
FROM MYTABLE
GROUP BY DateDiff("s",@StartDate,LAST_TRADE_TIME)/300;
Ich sollte ein Datum erhalten und eine CUR alle 300 Sekunden
Wenn die Verwendung von datadiff macht den Job in SQL Server, in MS Access gibt es insgesamt für mich nicht sinnvoll.
ConflatedDate Expr1001 12/5/2010 9:34:56 AM 38.2 12/5/2010 9:34:57 AM 38.2 12/5/2010 9:34:58 AM 38.2 12/5/2010 9:35:08 AM 38.2 12/5/2010 9:35:13 AM 38.19 12/5/2010 9:35:14 AM 38.19 12/5/2010 9:35:16 AM 38.19 12/5/2010 9:35:18 AM 38.2
Wie Sie oben sehen können, durch keine Gruppe rechtzeitig fertig.
Kann mir hier jemand helfen und sagen, was mit dieser Frage in MS ACCESS falsch ist? Oder was tun, um nach Zeitraum zu gruppieren?
Viele viele thx
Jerome
@StartDate "Variable" ist nicht gültig in MS-Access, wenn seine bereits als Parameter über Select-Anweisung definiert . –
vereinbart. @StartDate wäre eine Variable, deren Wert manuell übergeben wird. Es stellt die erste Datetime der Datenteilmenge dar, von der ich die Zusammenführung starten möchte. I – Jerome
Sie wollen "EVERY 300" Minuten gruppieren, aber teilen wird alle Arten von verschiedenen Ergebnissen zurück .. Sie sollten mod anstelle von divide verwenden .. was wird sein \ 300 –