วันเสาร์ที่ไม่มีการโพสต์ หากคุณต้องการหา “วันเสาร์ที่ไม่มีการโพสต์” (วันเสาร์ที่ว่างเปล่า) หรือว่าอะไรก็ตามที่ทำตามตารางเวลาทุก ๆ วัน… คุณสามารถใช้ MariaDB: recursive หาวันเสาร์ทุก ๆ วันจนถึงวันนี้ แล้ว LEFT OUTER JOIN แล้วเพิ่มเงื่อนไข WHERE p.ID IS NULL เพื่อกรองเอาเฉพาะวันที่ไม่มีข้อมูลในตาราง wp_posts ออกมาครับ
WITH RECURSIVE DateSeries AS (SELECT DATE ('2009-01-03') AS dt -- เริ่มต้นจากวันเสาร์เท่านั้น UNION ALL SELECT dt + INTERVAL 1 DAY FROM DateSeries WHERE dt < CURDATE ()) SELECT ds.dt AS missing_saturday
FROM DateSeries ds
-- เชื่อมข้อมูลแบบ LEFT JOIN เพื่อให้คงวันที่ใน DateSeries ไว้ทั้งหมด
LEFT OUTER JOIN wp_posts AS p ON ds.dt = DATE (p.post_date) WHERE DAYOFWEEK (ds.dt) = 7 -- เลือกเฉพาะวันเสาร์ AND p.ID IS NULL -- กรองเอาเฉพาะวันที่ "ไม่มี" ข้อมูลในตาราง posts AND p.post_status IN ('publish', 'future') -- แสดงหรือจะแสดง AND p.post_type = 'post' -- โพสต์เท่านั้น
ORDER BY ds.dt;
อ่านเพิ่มเติม