SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

 
 
Themen-Optionen Ansicht
  #1  
Alt 21.05.2018, 11:05:47
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
mehrere Tabellen über Timestamp abfragen

Hallo zusammen,

ich brauch mal wieder Eure Hilfe bzw. Rat.
Wie in der oben schon genannt möchte ich ein Query über 4 Tabellen mit dem Timestamp als gemeinsame Basis.

An und für sich ist das kein Problem, jedoch sind die Timestamps der einzelnen Tabellen NICHT synchron und unterscheiden sich jeweils im Sekundenbereich.


Worum geht es:
Ich hab mir ein kleines Monitoring für mein Haus erstellt und möchte nun die Daten entsprechend auswerten.
Im speziellen Fall geht es um die Daten vom Strom und Heizungsschaltung in Verbindung mit der PV-Anlage.
Um in etwa sagen zu können wie und wann ist die Heizung im PV-Modus gelaufen und wieviel musste ich wirklich Heizstrom einkaufen.

Heizung und Stromzähler werden im "MINUTEN-TAKT" mitgeloggt und die Daten direkt oder einmal am Tag das Logfile in die Datenbank übertragen.
Dadurch befinden sich in jeder Tabelle ca. 500.000 Datensätze und tägl. kommen 1440 pro Tabelle hinzu.

Leider sind die Timestamps nicht Sekundengleich.
Ich brauch auch keine Sekundengleiche Abfrage, wenn diese auf die Minute ist reicht mir das auch!!

Ich habe zwar ein Query das soweit funktioniert, nur braucht es fast 4 Minuten bis ein Ergebnis kommt.
In dem Query wird quasi die Differenz zweier Timestamps gebildet und wenn diese unter 1 Minute ist.... Treffer.
Aber ich denke er muss von jeder Tabelle jedesmal alle gut 500.000 Datenzästze abgleichen und das dauert dann eben eine Ewigkeit.

Hier mal die Abfrage:
PHP-Code:
// Datum der Form dd.mm.yyyy umwandeln in YYYY-mm-dd
    
if($von !== NULL && $bis !== NULL){

        
$vondatum_split explode(".",$von);
        
$vondatum $vondatum_split[2]."-".$vondatum_split[1]."-".$vondatum_split[0];

        
$bisdatum_split explode(".",$bis);
        
$bisdatum $bisdatum_split[2]."-".$bisdatum_split[1]."-".$bisdatum_split[0];
        
        
$zeitraum " heizung_webdaten.timestamp
                       BETWEEN  '"
.$vondatum."' AND '".$bisdatum."'";
    } elseif (
$jahr !== NULL){

        
$zeitraum " YEAR(heizung_webdaten.timestamp) = ".$jahr."";
    }

    
$sql_query "SELECT heizung_webdaten.*, strom_heizungsdaten.timestamp AS timestamp_strom, strom_heizungsdaten.WirkenergieSigmaL_imp, strom_hausdaten.WirkleistungSigmaL
                    FROM heizung_webdaten, strom_heizungsdaten, strom_hausdaten
                    WHERE "
.$zeitraum."
                     AND heizung_webdaten.wp_status = 12
                     AND ABS(UNIX_TIMESTAMP(heizung_webdaten.timestamp) - UNIX_TIMESTAMP(strom_heizungsdaten.timestamp)) < 59
                     AND ABS(UNIX_TIMESTAMP(heizung_webdaten.timestamp) - UNIX_TIMESTAMP(strom_hausdaten.timestamp)) < 59

                ORDER BY heizung_webdaten.timestamp"
;
    echo 
$sql_query."<br>";
    
    
$result $mysqli->query($sql_query);
    echo 
$mysqli->error;
    while(
$daten $result->fetch_assoc()){

        echo 
$daten['timestamp']." : ".$daten['wp_status']." => HZG-Strom_Daten: ".$daten['timestamp_strom']." ->  ".$daten['WirkenergieSigmaL_imp']."kWh |  akt. Verbrauch:".$daten['WirkleistungSigmaL']." kW<br>";
    } 
P.S.: die Ausgabe in der Schleife ist nur dazu da um zu sehen ob das Query ein Ergebnis bringt und hat nix mit der Auswertung zu tun.

Hoffe Ihr könnt mir hier ein wenig auf die Sprünge helfen

Grüße
Alex
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mehrere Tabellen mit teilweise gleichem Titel mit PHP abfragen tobi28862 MySQLi/PDO/(MySQL) 2 23.07.2009 09:46:08
zwei Tabellen abfragen crowl MySQLi/PDO/(MySQL) 4 18.04.2008 12:31:55
mehrere tabellen abfragen scones MySQLi/PDO/(MySQL) 6 09.05.2007 20:23:20
Db abfragen von 2 tabellen GrafvonHenneber PHP Grundlagen 6 22.01.2003 15:37:48
mysql querverbindungen aus tabellen abfragen flobee PHP für Fortgeschrittene und Experten 2 17.06.2002 17:16:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:28:53 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt