让我们了解如何构建查询来查找 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
上面的查询通过从当前月份开始并搜索 upto 和 Until 来搜索一系列 DATETIME 值,但不包括下个月的开始。
接下来,复合覆盖索引(create_at, ip) 已创建。上面的查询将给出每天、每月、每年的网络访问次数。
MySQL 可以扫描它需要的索引范围。
注意: 上述查询也适用于 TIMESTAMP 数据。