2016-10-19 2 views
-6

Angenommen, ich habe eine Tabelle wie unten (mit unterschiedlichen ids) ... hier zum Beispiel 99 nahm ...SQL-Abfrage max-Wert innerhalb von 60 Sekunden finden

id hist_timestamp   DP mints Secnds value 
99 2016-08-01 00:09:40  1 9  40  193.214 
99 2016-08-01 00:10:20  1 10  20  198.573 
99 2016-08-01 00:12:00  1 12  0  194.432 
99 2016-08-01 00:52:10  1 52  10  430.455 
99 2016-08-01 00:55:50  1 55  50  400.739 
99 2016-08-01 01:25:10  2 25  10  193.214 
99 2016-08-01 01:25:50  2 25  50  193.032 
99 2016-08-01 01:34:30  2 34  30  403.113 
99 2016-08-01 01:37:10  2 37  10  417.18 
99 2016-08-01 01:38:10  2 38  10  400.495 
99 2016-08-01 03:57:00  4 57  0  190.413 
99 2016-08-01 03:58:40  4 58  40  191.936 

Hier habe ich eine value Spalte, beginnend Von der ersten Aufzeichnung muss ich Max-Wert innerhalb der nächsten 60 Sekunden finden, was zu unten führt. In der Gruppe dieser 60 Sekunden muss ich einen Datensatz mit maximalem Wert auswählen.

id hist_timestamp   DP mints Secnds value 
99 2016-08-01 00:10:20  1 10  20  198.573 
99 2016-08-01 00:12:00  1 12  0  194.432 
99 2016-08-01 00:52:10  1 52  10  430.455 
99 2016-08-01 00:55:50  1 55  50  400.739 
99 2016-08-01 01:25:10  2 25  10  193.214 
99 2016-08-01 01:34:30  2 34  30  403.113 
99 2016-08-01 01:37:10  2 37  10  417.18 
99 2016-08-01 03:57:00  4 57  0  190.413 
99 2016-08-01 03:58:40  4 58  40  191.936 

Wie SQL Abfrage erstellen, um gewünschte Ausgabe zu erhalten?

Danke !!!

+0

umschreiben die Frage und verwende https://ozh.github.io/ascii-tables/ – krtek

Antwort

0

ist es einfach. Verwenden Sie GROUP BY mit MAX() Funktion.

Beispiel:

select max(value) as value from table where hist_timestamp between '2016-08-01 00:10:00' and '2016-08-01 00:10:59' group by value

Dies gibt Ihnen max eindeutigen Wert. Hoffe, es

EDIT hilft: Wenn Sie kompliziertere Abfrage benötigen, wie Maximalwert für alle 60 Sekunden vom ersten Datum, das Sie in der Tabelle aufgestellt, Sie zum Beispiel CTE rekursive benötigen würde oder kompliziertere Abfrage mit group by

Verwandte Themen