Hallo franz_hoff,
deine Query ist eigentlich schon nahe dran. Kartesische Produkte sehe ich nicht als notwendig, da muss Dedlfix dein Anliegen falsch verstanden haben.
Änderungsvorschläge:
-
Du musst NOW() durch CURDATE() ersetzen, weil NOW() eine Uhrzeit enthält. Die NOW-Query verschlampt die Aufträge vom Montag (weil im Date-Feld die Uhrzeit 00:00:00 ist).
-
Wenn deine Datum-Spalte ein DATE Typ ist, kannst Du direkt danach gruppieren und brauchst kein DATE_FORMAT.
-
Der DATE_FORMAT Spalte solltest Du noch einen Aliasnamen geben.
SELECT
DATE_FORMAT(Datum,'%d.%m.%Y') AS ErstellDatum, COUNT(*) AS anzahl
FROM
Auftraege
WHERE
Datum >= SUBDATE(CURDATE(), WEEKDAY(CURDATE()))
GROUP BY
Datum
ORDER BY
Datum
Falls es vordatierte Aufträge gibt oder Du die Abfrage für eine frühere Woche machen willst, muss die Where-Bedingung noch erweitert werden:
WHERE
Datum BETWEEN SUBDATE(CURDATE(),WEEKDAY(CURDATE()))
AND ADDDATE(CURDATE(),6-WEEKDAY(CURDATE()))
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi