SQLite Abfrage nach Wochentag

  • Hallo,


    ich habe eine SQL-DB mit einer Spalte timestamp, sieht so aus:

    Code
    20211101 4 15:05:00


    Wie kann ich über eine SELCET Abfrage alle Daten mit dem Wochentag "4" der letzten 7 Tage abfragen ?


    Hänge damit fest :conf:

  • 20211101 4 15:05:00

    Sind das drei Spalten? Oder ist das eine Spalte? Wie heißen diese Spalten? Wie heißt die Tabelle?


    SQL
    SELECT $Spalte1, $spalte2, $spalte3 FROM $tabellenname WHERE $spalte2 LIKE '4';

    wobei anstelle der $spalte1, $spalte2, $spalte3 und $tabellenname die entsprechenden Namen stehen sollten.


    Hier bekommst du die drei Werte aus jeder Zeile, in der die zweite Spalte den Wert 4 hat. mit einem "ORDER BY ..", siehe oben, auch die letzten 7 Werte aus dieser Tabelle.

    Selber denken,
    wie kann man nur?

  • SQL
    SELECT * 
      FROM `table_name` 
     WHERE DATE(SUBSTR(`timestamp_field`, 1, 8)) >= DATE(NOW() - INTERVALL 7 DAY)
       AND `timestamp_field` LIKE "% 4 %"

    Zumindest in MySQL wäre es so

  • Ich habe einen zusammengesetzten String genommen, der Wochentag ist eingefügt. Sollte ich eine eigene Spalte für den Wochentag wählen ?

    Bin gerade in der Planungsphase für eine DB...


    Habe gedacht das würde irgendwie mit %w in einer Abfrage fuktionieren.

  • Hallo,


    du hast einen Denkfehler - das rechnet ja die passende Funktion der DB für dich. Der Tag muss eben _nicht_ (!) explizit drin stehen. Wäre auch eine redundante Info, weil der Tag ja nun mal eindeutig aus dem Datum abzuleiten ist.


    Beispiel:


    Gruß, noisefloor

  • Post by SmallSunset65327 ().

    This post was deleted by the author themselves ().