Ich habe eine MySQL-Tabelle namens 'events', die Ereignisdaten enthält. Die wichtigen Spalten sind 'start' und 'end', die eine Zeichenfolge (YYYY-MM-DD) enthalten, die angibt, wann die Ereignisse beginnen und enden.
Ich möchte die Datensätze für alle aktiven Ereignisse in einem bestimmten Zeitraum abrufen.
Veranstaltungen:
%Vor%Anfrage / Suche:
%Vor% %Vor%Ich habe viele Abfragen ausprobiert, aber ich bekomme die genaue SQL-Abfrage nicht.
Weißt du nicht, wie das geht? Irgendwelche Vorschläge?
Danke!
Wenn ich richtig verstanden habe, dass Sie versuchen, eine einzelne Abfrage zu verwenden, können Sie Ihre Datumssuche einfach in WHERE
clauses
oder noch einfacher: Sie können einfach beide Spalten verwenden, um den Filter für die Suchzeit festzulegen
%Vor%Sie benötigen die Ereignisse, die innerhalb des Bereichs beginnen und enden. Aber das ist noch nicht alles: Sie möchten auch die Ereignisse, die innerhalb des Bereichs beginnen, und die Ereignisse, die im Bereich enden. Aber dann sind Sie immer noch nicht da, weil Sie auch die Ereignisse möchten, die vor dem Bereich beginnen und nach dem Bereich enden.
Vereinfacht:
Da Punkt 2 zu Datensätzen führt, die auch die Abfrage in Punkt 3 erfüllen, benötigen wir nur die Punkte 1 und 3
So wird SQL zu
%Vor%Hier viele gute Antworten, aber ich denke, das wird jemandem helfen
%Vor% Oder verwenden Sie MIN()
und MAX()
, wenn Sie die Priorität nicht kennen.
Tags und Links sql mysql date date-range