Sie müssen die DAYOFWEEK- Funktion verwenden
Wenn das Ende der Woche am Samstag ist, kann jedes Datum in einen Samstag umgewandelt werden.
Dies berechnet beispielsweise den kommenden Samstag
SELECT DATE(NOW() + INTERVAL (7 - DAYOFWEEK(NOW())) DAY);
Dies berechnet den kommenden Sonntag (Sie müssen stattdessen die WEEKDAY- Funktion verwenden)
SELECT DATE(NOW() + INTERVAL (6 - WEEKDAY(NOW())) DAY);
Für eine Tabelle namens mytable mit einer Datumsspalte namens theDate wäre Ihre Summation
Samstag
SELECT COUNT(1) DateCount,EndOfWeekDate FROM
(
SELECT DATE(theDate + INTERVAL (7 - DAYOFWEEK(theDate)) DAY) EndOfWeekDate
FROM mytable
) A GROUP BY EndOfWeekDate;
Sonntag
SELECT COUNT(1) DateCount,EndOfWeekDate FROM
(
SELECT DATE(theDate + INTERVAL (6 - WEEKDAY(theDate)) DAY) EndOfWeekDate
FROM mytable
) A GROUP BY EndOfWeekDate;
Versuche es !!!
CAVEAT Wenn Sie ein anderes Ende der Woche als Samstag und Sonntag wünschen, habe ich bereits am 22. September 2011 einen verrückten Algorithmus geschrieben, mit dem jede Woche berechnet werden kann, die an einem beliebigen Tag beginnt und endet .