Câu trả lời của Nanne đưa ra giải thích lý do tại sao bạn không nhận được kết quả mong muốn (mệnh đề WHERE của bạn xóa các hàng), nhưng không giải thích cách khắc phục.
Giải pháp là thay đổi WHERE thành VÀ để điều kiện là một phần của điều kiện kết hợp, không phải là một bộ lọc được áp dụng sau khi kết hợp:
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
Bây giờ tất cả các hàng trong bảng bên trái sẽ có trong kết quả.