让我们了解如何构成查询以查找每天,每月,每年和每年在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数据。