Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

MIN Werte abfragen ?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von andyyyy, 14 Januar 2013.

  1. andyyyy

    andyyyy Neuer Benutzer

    Hallo Leute,

    habe eine DB "temp" mit den Spalten "timestamp" und "taussen". Alle 2 Minuten wird ein Wert eingetragen. Nun Würde ich gerne eine Abfrage starten die mir für ein KalenderJahr jeweil den MIN Wert eines Tages ausliest.

    Wie ist das möglich ??

    Lg, Andyyyy
     
  2. akretschmer

    akretschmer Datenbank-Guru


    Du wandelst den Timestamp in ein DATE um und fragst nach dem min() - Wert je DATE. In PostgreSQL so:

    Code:
    test=*# select * from minwerte ;
             ts          | value
    ---------------------+-------
     2013-01-14 10:00:00 |    10
     2013-01-14 11:00:00 |    12
     2013-01-14 12:00:00 |     0
     2013-01-13 11:00:00 |    11
     2013-01-13 21:00:00 |    12
     2013-01-13 22:00:00 |    13
    (6 rows)
    
    test=*# select ts::date, min(value) from minwerte group by ts::date;
         ts     | min
    ------------+-----
     2013-01-14 |   0
     2013-01-13 |  11
    (2 rows)
    
    Sollte ähnlich in MySQL gehen.

    Andreas
     
  3. andyyyy

    andyyyy Neuer Benutzer

    Hallo Andreas,
    danke für deine Antwort
    Leider bin ich nicht sehr fit in MYSQL, deshalb brauche ich die genaue Syntax

    lg, Andyyyy
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Ich bin, um ehrlich zu sein, in MySQL auch nicht sonderlich fit... kann vielleicht jemand anders jetzt übernehmen?

    Oder: du schaust mal selber via Google nach "mysql timestamp to date", da lernst gleich was dazu ;-)

    Andreas
     
  5. Tommi

    Tommi Datenbank-Guru

    Hallo,

    vielleicht funktioniert das ja so in etwa wie beim SQL Server:
    (habe versucht die MySQL-Syntax ranzuziehen, weiß aber nicht, ob das so vollkommen korrekt ist):

    Code:
    SELECT YEAR(timestamp) as Jahr,
    DATEFORMAT( MIN(timestamp) ,'%d.%m.%Y') as Erster_Tag
    FROM tabelle_temp
    GROUP BY YEAR(timestamp)
    
    Viele Grüße,
    Tommi
     
  6. andyyyy

    andyyyy Neuer Benutzer

    Code:
    SELECT DATE(timestamp) AS date, MIN(tprimaer) AS tprimaermin, MAX(tprimaer) AS tprimaermaxg FROM vitotemp GROUP BY date ORDER BY date DESC LIMIT 365
    Brachte mir den Erfolg, danke.

    lg, Andyyyy
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden