MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt?

T

tuxedo

Gast
Hallo zusammen ...

ich hab hier eine DB die im 5min Takt mit Temperatur- und anderen Werten gefüllt wird. Das Schema ist sehr einfach:

Code:
ID | Timestamp | Wert1 | Wert2 | Wert3 | ... | Wert_n

Diese Daten sollen in einer Grafik (Line-Plot) angezeigt werden.

Wenn ich jetzt z.B. die letzten 7 Tage anzeigen will, dann hab ich 2016 Datensätze/Zeilen aus der DB.

Die Grafik hat aber nur 504px in der Breite (hab jetzt al absichtlich passende Zahlen genommen damit man schöner rechnen kann). Wenn ich jetzt die 2016 Werte auf die 504px breite verteile, wird die Grafik etwas hässlich: Ich hätte pro Pixel 4 Werte.

Ich könnte das programmatisch lösen: Über die Daten iterieren und je 4 Werte zusammenfassen und Durchschnitt bilden. Damit würde ich die 2016 Werte auf 504 Werte reduzieren, was zur Grafik passen würde.

Würde das aber am liebsten über die DB regeln.
Deshalb die Frage:
Gibt es eine Möglichkeit via SQL (speziell MySQL) Werte zusammenzufassen und daraus einen durchschnitt zu bilden um somit die Anzahl der Ergebniszeilen (in diesem Beispiel) von 2016 auf 504 zu reduzieren?

Gegoogelt hab ich schon. Aber ich weiß nicht so recht nach was ich suchen soll. Hab bis dato nur Statements gefunden mit denen man jede n-te Zeile aus der DB ausließt. Aber damit würde ich das Ergebnis in der Grafik ja verfälschen...

Gruß
Alex
 
M

Marcinek

Gast
Hi,

ich glaube nicht, dass dies die Aufgabe der Datenbank ist, da dies Business Logik ist.

Ich hätte von dem Plotter erwartet, dass man da einstellen kann, welche Intervalle er darstellt.

Excel kann das auch.

Gruß,

Martin
 
T

tuxedo

Gast
Mir gings eher drum dass die DB viele (oder manche) Berechnungen eben schneller erledigen kann als ich das im Programm-Code kann. Und die Kiste auf der das ganze läuft ist technisch bedingt eh' nicht die schnellste (Embedded ARMv5).

Sehe das auch nicht so ganz als Business-Logik an... Im Endeffekt ist das ein View-Thema: ganz allgemein schränke ich mit einem SELECT die Sicht auf die Daten ein. Sonst würde man in SQL nicht Befehle wie AVG und SUM haben ... Kann man ja alles in Business-Logik gießen.. Macht aber nicht überall Sinn.
Mein Vorhaben ist im Prinzip nichts anderes.

Klar, implementiert ist das recht schnell (nein, der Graph-Plotter macht das leider nicht für mich). Aber wenn ich das mit MySQL direkt erledigen kann, wäre das für mich geschickter.

Bin nach wie vor für Ratschläge offen.

Gruß
Alex
 

musiKk

Top Contributor
Also in PostgreSQL wäre das Stichwort Window Function. Dabei kann man Partitionen erzeugen und innerhalb dieser Partitionen aggregieren.

Ich würde wahrscheinlich versuchen, die Tabelle mit einer Serie zu joinen und über Modulo 4 dann die Gruppierung erstellen.

Vielleicht hat MySQL ja ähnliche Features oder Du kannst sie mit Stored Procedures nachbauen.
 
S

SlaterB

Gast
haben die Werte selber oder kann man ihnen eine solche 'Serie' zudichten, eine lineare Nummerierung, bestenfalls schon die Id?
dann könnte man die Tabelle 4fach joinen, für die erste nur jeden 4. Eintrag wählen, modulo rechnen,
die anderen Tabellen mit id +1, +2, +3 joinen,
aus diesen 4 Einträgen zusammen irgendwas machen

allzu variabel ist das sicherlich nicht, falls nich von Java zusammengebaut, dann ginge statt 4 auch 6 oder anderes
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
OnDemand Select * from bringt keine Rückgabe Datenbankprogrammierung 49
OnDemand Select vs Update ins blaue, was ist teurer? Datenbankprogrammierung 11
M JPA: select all mit unterschiedlichem Tablename Datenbankprogrammierung 2
A MySQL Select und Insert in Java Datenbankprogrammierung 15
J JPA: Wie sieht der select aus? Datenbankprogrammierung 2
D geänderte SELECT Abfragen Datenbankprogrammierung 15
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
T sqlite select Datenbankprogrammierung 12
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
F MySQL Was bedeuten die Einzelnen Zeichen in Select Querrys? Datenbankprogrammierung 1
J SQL SELECT mit einem Array Datenbankprogrammierung 1
J SELECT Abfrage/Suche Datenbankprogrammierung 4
E Kann man in einer if-Bedingung auch SELECT-Statements überprüfen? Datenbankprogrammierung 23
M SQL-Exception trotz funktionierendem SELECT Datenbankprogrammierung 4
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
L Select Anweisung wird falsch interpretiert Datenbankprogrammierung 3
C HSQLDB Platzhalter in SELECT Datenbankprogrammierung 6
I SELECT bei Datenbankverbindung Datenbankprogrammierung 6
C MySQL JPA - namedQuery (SELECT) -getResultList() - liefert falsches Ergebnis Datenbankprogrammierung 1
S select: alle ergebnisse ermitteln Datenbankprogrammierung 5
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
C SQL-Statement SELECT über 3 Tabellen Datenbankprogrammierung 5
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
W SELECT oder Programm-Logik Datenbankprogrammierung 10
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
T MySQL Dynamisch Suchen Select Datenbankprogrammierung 4
D ArrayList in Select Datenbankprogrammierung 12
N Select mit join Datenbankprogrammierung 3
F Oracle select sum() join select sum() Datenbankprogrammierung 9
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
R Oracle Performance bei SELECT mit vielen Reihen Datenbankprogrammierung 5
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
I Select-Statement optimieren Datenbankprogrammierung 14
M Variable in SQL SELECT * FROM ... WHERE mithilfe von PreparedStatement benutzen? Datenbankprogrammierung 28
R Derby/JavaDB Möglichkeit von einem Random Select! Datenbankprogrammierung 6
B Mehrfachschachtelung SELECT Datenbankprogrammierung 2
GianaSisters MySQL Datenbank Select error Datenbankprogrammierung 5
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S MySQL Problem mit SELECT bzw encoding Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
A SQLite SELECT von ungleichen Spaltenpaaren Datenbankprogrammierung 10
Eldorado MySQL SELECT mit GROUP BY und INNER JOIN Datenbankprogrammierung 2
M Hibernate JPQL SELECT optional? Datenbankprogrammierung 2
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
G Aufruf von SELECT INTO Datenbankprogrammierung 8
B H2 PreparedStatement SELECT * FROM ? Datenbankprogrammierung 4
X Select Query auf Substring Datenbankprogrammierung 2
S Select eines bestimmten Datensatzes Datenbankprogrammierung 4
M Select * from mydaten where ... Datenbankprogrammierung 4
T Unerwartete Datenbankausgabe bei "select now()" (es wird ein .0 angehängt) Datenbankprogrammierung 5
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G SELECT liefert leere Zeilen Datenbankprogrammierung 32
M SELECT longtext -> als String behandeln Datenbankprogrammierung 6
H Select in einem Select Datenbankprogrammierung 7
G Select- Abfrage Datenbankprogrammierung 19
S Insert mit Select Datenbankprogrammierung 6
G MSSQL Server SELECT Abfrage funktioniert nicht Datenbankprogrammierung 4
R SELECT aus hsqldb mit Parameter Datenbankprogrammierung 2
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
A Problem mit einem Select-Befehl Datenbankprogrammierung 5
E Neues select auf ein vorhandenes Resultset Datenbankprogrammierung 11
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
S Select über mehrere Datenbanksysteme Datenbankprogrammierung 14
P SELECT Datenbankprogrammierung 20
T select Abfrage in Java Integer speichern ? Datenbankprogrammierung 2
B fehler bei select befehl Datenbankprogrammierung 5
S Select von bis in DB2 Datenbankprogrammierung 8
S Select mit PreparedStatement Datenbankprogrammierung 2
E Ein If und ein SELECT in Oracle? Datenbankprogrammierung 2
T Select Statement auf Relation Datenbankprogrammierung 3
S PostgreSQL SELECT/UPDATE etc. Datenbankprogrammierung 4
4 Probleme mit Select abfrage Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
N SELECT: Datensatz sperren Datenbankprogrammierung 6
isowiz SELECT SUM() Ergebnis in Java abfragen Datenbankprogrammierung 6
T LIMIT In SELECT Anweisung Datenbankprogrammierung 4
R Select und Insert in Schleife - Problem mit ResultSet Datenbankprogrammierung 2
G SELECT Name= " " verhindern Datenbankprogrammierung 5
G Syntax für Select - Abfrage mit Variablen Datenbankprogrammierung 39
J SELECT-Statement Datenbankprogrammierung 4
R Select auf der Konsole ausgeben Datenbankprogrammierung 2
D brauche mal kurz hilfe bei einem select-stmt Datenbankprogrammierung 6
G Select-Abfragen sind sehr langsam Datenbankprogrammierung 7
D HSQLSB SELECT Datenbankprogrammierung 9
D 2 Abfragen zusammenfassen Datenbankprogrammierung 7
D MySQL Zusammenfassen von Records in ein Record(Merge) Datenbankprogrammierung 7
K zusammenfassen von zeilen Datenbankprogrammierung 2
O SQL: Zusammenfassen von Datensätzen Datenbankprogrammierung 2
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10

Ähnliche Java Themen

Neue Themen


Oben