Tính toán của bạn đúng cho DATE
nhưng nếu giá trị của bạn là dấu thời gian, bạn có thể nên sử dụng EXTRACT
(hoặc DATE_PART) để đảm bảo chỉ nhận được sự khác biệt bằng đầy đủ ngày;
EXTRACT(DAY FROM MAX(joindate)-MIN(joindate)) AS DateDifference
Một SQLfiddle để kiểm tra . Lưu ý rằng sự khác biệt về dấu thời gian là 1 giây dưới 2 ngày đầy đủ.