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

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 20.05.2011, 00:22:53
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Hi

Zitat:
in der zeit von etwa 6 bis 21 Uhr alle fünf minuten ein datensatz und das schein die abfrage der datenbank zimlich zu bremsen
Naja das sollten 180 Datensätze sein, nich sooo viel ;)

Zitat:
jetzt möchte ich gerne wissen ob es irgendwie schneller geht?
Klar aber war das die Eingangsfrage? nein
Hast du nun Thomas seine getestet und meine und deren ausführungszeiten verglichen?
Wenn ja bitte zeigen, wenn nein bitte machen.

Ein bissle Forscherdrang musst du da an den Tag legen wir beten hier nich alles vor.
Vielleicht schaust du dir Sinn und Zweck von Indexierung in Datenbanken mal an.
Vorallem wie die Datenbank die Indexe nutzt erhellt ungemein.

Lösungswege für schnellere Verarbeitung
Primärschlüssel und Indexe
z.B. Primär auf Datum_zeit (kann auch ne id per auto_increment sein), Index auf Datum, Index auf Tagertrag und gut ist.
Dann per Datum Gruppieren und MAX auf Tagertrag

Nun leg los und zeig Ergebnisse deiner Arbeit ;)

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #12  
Alt 20.05.2011, 19:06:44
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Zitat:
Zitat von Ckaos Beitrag anzeigen
Naja das sollten 180 Datensätze sein, nich sooo viel ;)
Jaja aber das 7 Tage die Woche 52 Wochen das Jahr etc. :P
Mit Zitat antworten
  #13  
Alt 21.05.2011, 09:39:05
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

So habe beides getestet, nur ich wollte den Tagesertrag für jeden Tag eines Monats in einem Jahr

d.h. z.B. für alle Tage im Monat März 2011

Eure Ausgabe währe gut für eine Jahresübersicht in der ich den letzten Wert jeden monats ausgebe

d.h. z.B. für alle Monate im Jahr 2011 dazu müsste dann nur noch das Jahr eingegrenzt werden

mfg

borsti87
Mit Zitat antworten
  #14  
Alt 21.05.2011, 11:36:32
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Hi

Zitat:
nur ich wollte den Tagesertrag für jeden Tag eines Monats in einem Jahr

d.h. z.B. für alle Tage im Monat März 2011
Das erledigt meine Abfrage da GROUP BY DATE
Zitat:
Eure Ausgabe währe gut für eine Jahresübersicht in der ich den letzten Wert jeden monats ausgebe
Macht meine Abfrage nicht!

Ausgehend von deinen vorgestellten Daten hier nochmal mein Vorschlag
Code:
SELECT max(Datum)as Datum,max(Tagesetrag) as Tagesetrag FROM Logdata
group by date(Datum)
mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #15  
Alt 21.05.2011, 12:22:36
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

@Ckaos:
Deine Abfrage ergibt bei mir alle Tagesendwerte für alle Monate und Jahre es müsste noch das Jahr und der Monat eingegrenzt werden

d.h. z.B. für alle Tage im Monat März des Jahres 2011

Die Ausgabe würde dann etwa so aussehen:
Code:
+----------+------+
|Datum     |Ertrag|
+----------+------+
|2011-03-01|  21.3|
|2011-03-02|  23.4|
|.         |      |
|.         |      |
|.         |      |
|2011-03-30|  25.2|
|2011-03-30|  20.1|
+----------+------+
@thomas w:
Deine Abfrage währe gut für eine Jahresübersicht in der ich den letzten Wert jeden Monats ausgebe

d.h. z.B. für alle Monate im Jahr 2011

dazu müsste dann nur noch das Jahr eingegrenzt werden

Die Ausgabe würde dann etwa so aussehen:
Code:
+----------+------+
|Datum     |Ertrag|
+----------+------+
|2011-01-31| 221.3|
|2011-02-28| 323.4|
|.         |      |
|.         |      |
|.         |      |
|2011-04-30| 425.2|
|2011-05-21| 320.1|
+----------+------+
mfg

borsti87
Mit Zitat antworten
  #16  
Alt 21.05.2011, 12:56:30
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Hi

Zitat:
es müsste noch das Jahr und der Monat eingegrenzt werden
Und das solltest du ohne unsere Hilfe schaffen siehe -> Mysql Doku Datumsfunktionen

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #17  
Alt 21.05.2011, 13:58:54
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Code:
SELECT l.datum AS letzter_tag, l.tagesetrag AS endbetrag
  FROM logdata l
  JOIN ( SELECT DATE_FORMAT(datum,'%Y-%m') AS d, MAX(DATE_FORMAT(datum,'%d %H:%i:s')) AS dmax 
           FROM logdata
          GROUP BY DATE_FORMAT(datum,'%Y-%m')
          ORDER BY NULL 
       ) m
    ON DATE_FORMAT(l.datum,'%Y-%m') = m.d
   AND DATE_FORMAT(l.datum,'%d %H:%i:s') = m.dmax
ORDER BY l.datum;
Wie binde ich das in PHP ein?

Ich habe es so versucht:
PHP-Code:
$sql mysql_query(
   
"SELECT l.Datum AS letzter_tag, l.tagesetrag AS endbetrag".
   
"FROM logdata l".
   
"JOIN ( SELECT DATE_FORMAT(Date,'%Y-%m') AS d, MAX(DATE_FORMAT(Date,'%d %H:%i:s')) AS dmax".
           
"FROM logdata ".
           
"GROUP BY DATE_FORMAT(Date,'%Y-%m') ".
           
"ORDER BY NULL ".
        
") m ".
    
"ON DATE_FORMAT(l.Date,'%Y-%m') = m.d ".
    
"AND DATE_FORMAT(l.Date,'%d %H:%i:s') = m.dmax".
 
"ORDER BY l.Date;");

while(
$row mysql_fetch_assoc($sql)){
     Echo 
date('m',strtotime($row['letzter_tag']));
     Echo 
$row['endbetrag'];
   } 
Mit Zitat antworten
  #18  
Alt 21.05.2011, 14:40:08
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Hi

Zitat:
Wie binde ich das in PHP ein?
Wenn du das nicht weisst gehört das ins PHP-Grundlagen oder?
Zitat:
Ich habe es so versucht:
Sieht doch gut aus.
Und kein Ergebnis? Fehlermeldung?

Also ganz ehrlich meine letzte Frage dazu
Was gefällt dir an dem Ergebnis meiner SQL nicht?
Mit einer simplen Erweiterung um WHERE und Bezug auf Monat/Jahr
wäre es genau was du eingangs gesucht hast.
Was hat sich geändert?

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #19  
Alt 21.05.2011, 15:32:08
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Ich bekomme folgende Meldung:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Mit Zitat antworten
  #20  
Alt 21.05.2011, 15:38:18
borsti87 borsti87 ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 37
Beiträge: 26
AW: MySQL Letzten Eintag jeden Tages eines Monats eines Jahres ausgeben

Zitat:
Zitat von Ckaos Beitrag anzeigen
Also ganz ehrlich meine letzte Frage dazu
Was gefällt dir an dem Ergebnis meiner SQL nicht?
Dein SqL Funktioniert Super! Problem ist wohl die grafische Verarbeizung die recht langsam ist ;-) die Werte zeige ich als Diagramm da.

Zitat:
Zitat von Ckaos Beitrag anzeigen
Mit einer simplen Erweiterung um WHERE und Bezug auf Monat/Jahr
wäre es genau was du eingangs gesucht hast.
Hab ich gemacht und läuft!

Zitat:
Zitat von Ckaos Beitrag anzeigen
Was hat sich geändert?
Ich bin jetzt mit Thomas W's Sql bei der Jahresübersicht zu bauen.
Mit Zitat antworten
Antwort


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
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
MySQL Null in PHP ausgeben mc-bain MySQLi/PDO/(MySQL) 6 08.09.2009 10:35:48
Bitte hilfe Mysql spalte ausgeben Samq MySQLi/PDO/(MySQL) 1 17.06.2008 01:37:12
Mehrere Tabellen ausgeben, die Daten aus einer MySQL DB holen pekobe MySQLi/PDO/(MySQL) 3 20.08.2007 20:36:02
MySQL Abfrage mit PHP ausgeben, wie? PHP-MySQL-Fan MySQLi/PDO/(MySQL) 5 22.05.2006 14:47:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:35:42 Uhr.


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


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