Để có được nửa đêm chủ nhật trước đó muộn nhất, bạn nên làm điều này. Thay thế cả hai trường hợp của NOW()
với ngày giờ của bạn để kiểm tra một ngày khác.
SELECT DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY) latest_sun
Để nhận ngày chủ nhật sớm hơn một tuần, thay vào đó, hãy sử dụng DAYOFWEEK(NOW())+6 DAY
.
CHỈNH SỬA:Điều đó sẽ thực hiện truy vấn của bạn;
SELECT COUNT(author)
FROM `posts`
WHERE author='FooBar'
AND `date` >= DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())+6 DAY)
AND `date` < DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY)