ให้เราเข้าใจวิธีสร้างแบบสอบถามเพื่อค้นหาจำนวนการเข้าชมเว็บต่อวัน ต่อเดือน ต่อปี และยอดรวมใน MySQL:
หมายเหตุ: เราคิดว่าเราได้สร้างฐานข้อมูลชื่อ 'DBNAME' และตารางชื่อ 'tableName'
ให้เราดูแบบสอบถาม MySQL ซึ่งสามารถใช้เพื่อเข้าชมเว็บต่อวัน เดือน ปีและยอดรวม -
สอบถาม
SELECT COUNT(DISTINCT ip) FROM tableName WHERE create_at >= LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH AND create_at < LAST_DAY(NOW()) + INTERVAL 1 DAY
ข้อความค้นหาด้านบนจะค้นหาในช่วงของค่า DATETIME โดยเริ่มจากเดือนปัจจุบันและค้นหาจนถึงและจนถึง แต่จะไม่รวมต้นเดือนถัดไป
ถัดไป สร้างดัชนีครอบคลุมดัชนีบน (create_at, ip) ข้อความค้นหาข้างต้นจะให้จำนวนการเข้าชมเว็บต่อวัน ต่อเดือน ต่อปี
MySQL สามารถสแกนช่วงดัชนีที่ต้องการได้
หมายเหตุ: แบบสอบถามด้านบนทำงานได้ดีสำหรับข้อมูล TIMESTAMP เช่นกัน