Ich versuche Daten aus einer SQL Datenbank mit Meßwerten von Energiezählern auszuwerten. Als Beispiel verwende ich die Daten aus Data Platform – Open Power System Data
Meine Datenbank ist MariaDB 11.5.2. Darin ist eine Tabelle mit 15min Zeitwerten und Meßergebnissen.
Die Tabelle enthält ca. 40.000 Datensätze über ein Jahr von 2015-04-15 and 2016-06-10, also ca. 400 Tage.
Ich versuche über folgende Abfrage jeweils den letzten Eintrag für jeden Tag zu erhalten.
Dabei erhalte ich statt 400 Tagen nur die letzten 31 Tage, d.h. alle Tage zwischen 2015-04-15 und 2016-05-11 fehlen.
Kann mir jemand erklären, warum ich nicht alle ca. 400 Werte von 2015-04-15 bis 2016-05-11 erhalte?
Ist das eine MariaDB Einstellung?
Meine Datenbank ist MariaDB 11.5.2. Darin ist eine Tabelle mit 15min Zeitwerten und Meßergebnissen.
SQL:
CREATE TABLE energydata.residential2ts (
`utc_timestamp` TIMESTAMP NOT NULL,
cet_cest_timestamp TIMESTAMP NOT NULL,
DE_KN_residential2_circulation_pump DOUBLE NULL,
DE_KN_residential2_dishwasher DOUBLE NULL,
DE_KN_residential2_freezer DOUBLE NULL,
DE_KN_residential2_grid_import DOUBLE NULL,
DE_KN_residential2_washing_machine DOUBLE NULL,
interpolated varchar(10000) NULL,
CONSTRAINT residential2_pk PRIMARY KEY (`utc_timestamp`)
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4;
Die Tabelle enthält ca. 40.000 Datensätze über ein Jahr von 2015-04-15 and 2016-06-10, also ca. 400 Tage.
Ich versuche über folgende Abfrage jeweils den letzten Eintrag für jeden Tag zu erhalten.
SQL:
# timestamps are between 2015-04-15 and 2016-06-10 11:30:00
select max(cet_cest_timestamp) maxtime
from residential2ts
group by day(cet_cest_timestamp)
order by maxtime;
Dabei erhalte ich statt 400 Tagen nur die letzten 31 Tage, d.h. alle Tage zwischen 2015-04-15 und 2016-05-11 fehlen.
Code:
2016-05-11 23:45:00
2016-05-12 23:45:00
...
2016-06-09 23:45:00
2016-06-10 11:30:00
Kann mir jemand erklären, warum ich nicht alle ca. 400 Werte von 2015-04-15 bis 2016-05-11 erhalte?
Ist das eine MariaDB Einstellung?