Tach!
SELECT DISTINCT UNIX_TIMESTAMP(d_datum) ut_date FROM dates WHERE DATE_FORMAT(d_datum, '%Y%m') = date('Ym', $aktuellesDatum)
Wenn es nur um eine Handvoll Datensätze geht, kann man das so machen. Aber diese WHERE-Bedingung ist so formuliert, dass die für jeden Datensatz einzeln berechnet werden muss und kein Index verwendet werden kann.
Oder gibt es einen sinnvollen Ansatz schon bei der Datenbankabfrage nur die Fülltage abzufragen, die ich auch benötige?
Ich würde die Ermittlung des Start und des Endes in das abfragende Programm aufnehmen und die SQL-Query lediglich mit WHERE d_datum BETWEEN $anfang AND $ende
ausführen. Auf diese Weise übergibt man zwei konstante Werte an die Query und das DBMS kann auch gleich noch einen eventuell vorhandenen Index benutzen.
dedlfix.