Nannes Antwort gegeben erklärt, warum Sie nicht das gewünschte Ergebnis erhalten (Ihre WHERE-Klausel entfernt Zeilen), aber nicht, wie Sie es beheben können.
Die Lösung besteht darin, WHERE in AND zu ändern, sodass die Bedingung Teil der Join-Bedingung ist und kein Filter, der nach dem Join angewendet wird:
SELECT day.days, COUNT(*) as opens
FROM day
LEFT OUTER JOIN tracking
ON day.days = DAY(FROM_UNIXTIME(open_date))
AND tracking.open_id = 10
GROUP BY day.days
Jetzt sind alle Zeilen in der linken Tabelle im Ergebnis vorhanden.