Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แบบสอบถาม SQL สำหรับการเข้าชมเว็บที่เคาน์เตอร์ต่อวัน เดือน ปีและยอดรวม


ให้เราเข้าใจวิธีสร้างแบบสอบถามเพื่อค้นหาจำนวนการเข้าชมเว็บต่อวัน ต่อเดือน ต่อปี และยอดรวมใน 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 เช่นกัน