mysql - SQL获取用户访问次数最多的时间

标签 mysql sql mysql-workbench

我们在数据库中有一个页面 URL 和日期时间记录的列表。

是否可以获得用户访问最多的时间? 时间列显示用户访问该网址最多的时间。

预期结果应如下所示:

page URL  | # visitor per day |        Date        | Max visitor/hour| time 
----------+-------------------+--------------------+-----------------+--------------
www.url1  |        49         |   07/07/2017       |       23        | 12:00 - 13:00 
www.url2  |        88         |   07/07/2017       |       39        | 7:00 - 8:00

最佳答案

在子查询中获取每个 URL 和日期的最大小时数。 然后将其连接到主表,以获得所需的记录。 如果您需要不考虑日期的最大小时数,则只需从子查询和连接条件中删除日期列即可。

select *
from maintable
join 
( select pageURL, Date, max(MaxVisitorPerHour) as maxhour
  from table
  group by pageURL, Date) subq
on 
(maintable.pageURL=subq.pageURL AND maintable.Date=subq.Date and     
maintable.maxVisitorPerHour=subq.maxhour)

关于mysql - SQL获取用户访问次数最多的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002297/

相关文章:

mysql - 与结束/反向偏移的偏移?

php - 仅当更新另一个表上的列或将新记录添加到该另一个表时,才将记录插入到新的 MySQL 数据库表中?

asp.net - XML 片段中不允许使用 DTD - xml 转为 sql

mysql - 如何在 Mysql Workbench 中使用外键从表编辑器创建一对一关系

mysql - ORDER BY 和 DELETE 不起作用

mySQL 在本地主机上出现错误,但在远程主机上却没有

php - 在 MySQL 的同一列中选择两个不同的值

php - 使用 PHP 比较来自不同服务器的两个表

python - 如何将此查询转换为 Peewee ORM?

sql - 如何测试SQL语句并保证其质量?