gpt4 book ai didi

MySQL 获取月份之间的行

转载 作者:行者123 更新时间:2023-11-29 15:09:14 25 4
gpt4 key购买 nike

我正在尝试选择当年每月访问我网站的访问者。

对于每个不同的 IP/user_agent 组合,每分钟都会添加一行。跟踪点击率和唯一访问者。

我的方案如下所示:

CREATE TABLE `stats` (
`id` int(11) unsigned NOT NULL auto_increment,
`domain` varchar(40) NOT NULL,
`ip` varchar(20) NOT NULL,
`user_agent` varchar(255) NOT NULL,
`domain_id` int(11) NOT NULL,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`referrer` varchar(400) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

现在我想获取给定年份所有月份的所有唯一访问者。

但我想让唯一身份访客仅在 24 小时内唯一。所以不是整个月。

可以只使用 date >= NOW() - INTERVAL 1 MONTH),但这会在 2009 年 1 月之后跳转到 2008 年 12 月。因此它应该只显示给定年份的月份。

是否有函数可以在一个月内执行相同的操作(计算每周的访问者数量,因此从第一周到第四周共 4 行)?

谢谢!

最佳答案

您想获取每个网站每月数量的唯一身份访问者吗?像这样的东西应该有效:

SELECT COUNT(*), domain_id, m, y FROM
(
SELECT ip, user_agent, COUNT(ID) AS hits, domain_id,
DAY(date) as d, MONTH(date) as m, YEAR(date) as y
FROM `stats`
GROUP BY domain_id, ip, d, m, y
) AS tb
GROUP BY tb.m, tb.y

首先它在子查询中按天分组,然后在周围查询中再次按月分组。

我不完全确定您的意图是什么,但您应该能够根据您的目的调整此技术。

(编辑:添加年份组件以进行查询)

关于MySQL 获取月份之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com