Ich fand viele Stackoverflow QnAs über aufeinanderfolgende Tage.
Noch Antworten sind zu kurz für mich zu verstehen, was vor sich geht.aufeinanderfolgenden Tagen in Sql
Für Konkretion, ich werde ein Modell bilden (oder eine Tabelle)
(I postgresql bin mit, wenn es einen Unterschied macht.)
CREATE TABLE work (
id integer NOT NULL,
user_id integer NOT NULL,
arrived_at timestamp with time zone NOT NULL
);
insert into work(user_id, arrived_at) values(1, '01/03/2011');
insert into work(user_id, arrived_at) values(1, '01/04/2011');
(In einfachsten Form) Für Bei einem bestimmten Benutzer möchte ich den letzten aufeinander folgenden Datumsbereich finden.
(Mein ultimatives Ziel) Für einen bestimmten Benutzer möchte ich seine aufeinanderfolgenden Arbeitstage finden.
Wenn er gestern zur Arbeit kam, hat er noch (heute) die Chance, an aufeinanderfolgenden Tagen zu arbeiten. Also zeige ich ihm aufeinanderfolgende Tage bis gestern.
Aber wenn er gestern verpasst hat, sind seine aufeinanderfolgenden Tage entweder 0 oder 1, abhängig davon, ob er heute kam oder nicht.
Sagen Sie heute ist der 8. Tag.
3 * 5 6 7 * = 3 days (5 to 7)
3 * 5 6 7 8 = 4 days (5 to 8)
3 4 5 * 7 * = 1 day (7 to 7)
3 * * * * * = 0 day
3 * * * * 8 = 1 day (8 to 8)
Interessante Frage ... können Sie bitte Schema der Tabelle hinzufügen? –
Schema und Beispieldaten (wie 'CREATE TABLE' und' INSERT') und erwartete Ergebnisse bitte. –
Bitte fügen Sie echte DDL + Beispieldaten hinzu. Keine Kurzschrift, bitte. – joop