Klar, kann man so machen. ..
Kommt drauf an. Was auch immer last() macht, es legt nahe dass:
die Tage chronologisch gefüllt werden, wenn nicht und Lücken bestehen dürfen, ist der Einsatz von last() Müll.
Die Prüfung mit "where day = ", wie bereits gezeigt, eignet sich da schon besser.
Und wenn der TE mal die Fragen beantworten würde, könnte man vielleicht noch "Upsert" anbieten und würde damit die Entscheidung Insert oder Update dem System überlassen.