Hiểu cách tạo truy vấn tìm số lượt truy cập web mỗi ngày, mỗi tháng, mỗi năm, và tổng trong MySQL:
Lưu ý: Giả sử đã tạo database DBNAME và table tableName.
Truy vấn MySQL lấy lượt truy cập web theo ngày, tháng, năm và tổng:
Truy vấn
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
Truy vấn trên tìm kiếm qua phạm vi giá trị DATETIME bắt đầu từ tháng hiện tại và tìm đến, cho đến nhưng không bao gồm đầu tháng tiếp theo.
Tiếp theo, tạo compound covering index trên (create_at, ip). Truy vấn trên cho đếm lượt truy cập web mỗi ngày, tháng, năm.
MySQL có thể quét phạm vi index nó cần.
Lưu ý: Truy vấn trên hoạt động tốt cho dữ liệu TIMESTAMP cũng vậy.