Nasıl Cuma verilerine kontrol etmek için, dünkü veriler için OR pazartesi olmadığını kontrol etmek date_sub kullanarak bir SQL sorgusu oluşur?

2 Cevap php

İşte benim sorgu var:

SELECT *
FROM daily_records 
AND date = DATE_SUB(CURDATE(), INTERVAL 1 DAY)

Dün olanlardan bir rapor oluşturmak için kullanabilirsiniz. Bu Salı-Cuma, harika çalışıyor. Ancak pazartesi günü, ben Cuma geri arama yapabilmek istiyorum (önceki iş günü, örneğin INTERVAL 3 DAY).

MySQL bunu yapmanın bir yolu var mı? Veya sadece sorgu yazmadan önce PHP haftanın gün kontrol etmek gerekiyor?

2 Cevap

Bu yapmak gerekir:

SELECT * FROM daily_records AND date =
DATE_SUB(CURDATE(), INTERVAL IF(DATE_FORMAT(NOW(), '%w') = 1, 3, 1) DAY)

Sen yapabilirsin ...

SELECT *
FROM daily_records
WHERE date = IF(DAYOFWEEK(CURDATE()) = 2, DATE_SUB(CURDATE(), INTERVAL 3 DAY), DATE_SUB(CURDATE(), INTERVAL 1 DAY))