PlusMagi's Blog By Pitt Phunsanit MySql,WordPress WordPress: วันไหนขยันโพสต์หลายรอบบ้าง

WordPress: วันไหนขยันโพสต์หลายรอบบ้าง

เป็นอีกหนึ่งความลักลั่นคือบางวันดันขยันโพสต์เหลือเกินสมองแล่น เขียนซะหลายโพสต์จนคนอ่านน่าจะอ่านไม่ทัน แต่ช่วงไหนไม่รู้จะเขียนอะไรก็คิดไม่ออกเลยกระจายออกไปหลาย ๆ วันดีกว่า ว่าแต่เราจะต้องหาวันที่ขยันเป็นพิเศษก่อน

SELECT DATE (post_date) AS publish_day, -- แสดงชื่อวันภาษาไทย CASE DAYOFWEEK (post_date) WHEN 1 THEN 'อาทิตย์' WHEN 2 THEN 'จันทร์' WHEN 3 THEN 'อังคาร' WHEN 4 THEN 'พุธ' WHEN 5 THEN 'พฤหัสบดี' WHEN 6 THEN 'ศุกร์' WHEN 7 THEN 'เสาร์' END AS day_name_th, COUNT (id) AS total_posts, -- รวม ID ของโพสต์ที่ซ้ำกันมาไว้ในคอลัมน์เดียวเพื่อให้ตรวจสอบง่าย GROUP_CONCAT (ID ORDER BY post_date ASC) AS post_ids
FROM `wp_posts`
WHERE post_type = 'post' AND post_status IN ('publish', 'future') GROUP BY DATE (post_date) HAVING total_posts > 1
ORDER BY publish_day DESC;

อธิบาย

  • GROUP BY DATE (post_date)
    DATE จะเปลี่ยน datetime เป็นวันที่เพราะเราต้องการหาวัน ไม่ใช่เวลา
  • COUNT (id) AS total_posts จะนับ post ที่ได้จาก GROUP BY ให้
  • HAVING total_posts > 1 กรองเอาเฉพาะที่มากกว่า 1 รายการ

อ่านเพิ่มเติม