You can’t do this in a single query and you’ll need to do 2 queries, one to get the posts with dates, keep track or how many are displayed and then to a second query to get posts that have no value and limit it to the number of spots you need to fill.