获取按日期分组的最多访问者数量

时间:2012-06-23 17:22:50

标签: mysql group-by

我想对数据库中的每个日期进行分组,并获得最高金额以在网站上显示。我试过用这个SQL; SELECT COUNT(date_visited) FROM visitors GROUP BY date_visited但它只显示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`)
)

我该如何解决这个问题?

提前致谢。

2 个答案:

答案 0 :(得分:3)

Andomar的答案是正确的,你是按日期时间而不是日期分组。

此外,您似乎正在尝试查找表格中最常出现的日期。为此,您可以尝试以下方法:

SELECT DATE(date_visited)
FROM visitors
GROUP BY DATE(date_visited)
ORDER BY COUNT(*) DESC
LIMIT 1

答案 1 :(得分:1)

如果您要对datetime列进行分组,则通常会为每个时间点分组。要按日分组,您可以将datetime投射到date

select  date(date_visited)
,       count(*) 
from    visitors 
group by
        date(date_visited)
order by
        count(*) desc
limit   1