Mysql 获取按日期分组的最大访问者数量
我想对数据库中的每个日期进行分组,并获得在网站上显示的最高数量。我尝试过使用这个SQL<代码>按访问日期从访客组中选择计数(访问日期),但它仅显示Mysql 获取按日期分组的最大访问者数量,mysql,group-by,Mysql,Group By,我想对数据库中的每个日期进行分组,并获得在网站上显示的最高数量。我尝试过使用这个SQL按访问日期从访客组中选择计数(访问日期),但它仅显示1 数据库如下所示: CREATE TABLE IF NOT EXISTS `visitors` ( `id` int(10) NOT NULL AUTO_INCREMENT, `ipaddress` text NOT NULL, `page` text NOT NULL, `page_get` text NOT NULL, `date_v
1
数据库如下所示:
CREATE TABLE IF NOT EXISTS `visitors` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`ipaddress` text NOT NULL,
`page` text NOT NULL,
`page_get` text NOT NULL,
`date_visited` datetime NOT NULL,
`date_lastactive` datetime NOT NULL,
`date_revisited` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
)
我怎样才能解决这个问题
提前感谢。如果您在
datetime
列上分组,通常每个时间点都有一个分组。要按天分组,您可以将datetime
转换为date
:
select date(date_visited)
, count(*)
from visitors
group by
date(date_visited)
order by
count(*) desc
limit 1
如果您在
datetime
列上分组,通常会得到每个时间点的一个组。要按天分组,您可以将datetime
转换为date
:
select date(date_visited)
, count(*)
from visitors
group by
date(date_visited)
order by
count(*) desc
limit 1
Andomar的答案是正确的,您是按日期时间分组,而不仅仅是按日期分组 此外,您似乎正在尝试查找表中最常出现的日期。为此,您可以尝试以下操作:
SELECT DATE(date_visited)
FROM visitors
GROUP BY DATE(date_visited)
ORDER BY COUNT(*) DESC
LIMIT 1
Andomar的答案是正确的,您是按日期时间分组,而不仅仅是按日期分组 此外,您似乎正在尝试查找表中最常出现的日期。为此,您可以尝试以下操作:
SELECT DATE(date_visited)
FROM visitors
GROUP BY DATE(date_visited)
ORDER BY COUNT(*) DESC
LIMIT 1
非常感谢快速正确的回答:)我会尽快标记。次要细节,添加
count(*)
到最高金额的选择中。非常感谢快速正确的回答:)我会尽快标记。次要细节,添加count(*)
到最高金额的选择中。看起来这是MySQL。如果是这样,请加上那个标签。我的错误:)我现在已经变了。谢谢:)看起来这是MySQL。如果是这样,请加上那个标签。我的错误:)我现在已经变了。谢谢:)