如何从我的mysql数据库表“userlog”获取高峰时间

时间:2012-08-13 13:04:08

标签: mysql sql

我的桌子是

    id  username calledtime
1 user1 01-02-2012 10:04:02 2 user2 01-02-2012 10:12:02 3 user1 01-02-2012 10:15:22 5 user4 01-02-2012 11:20:02 6 user6 01-02-2012 11:23:02 7 user8 01-02-2012 11:34:15 8 user7 01-02-2012 11:55:02 9 user8 01-02-2012 15:23:02 10 user6 01-02-2012 16:03:02 11 user9 01-02-2012 19:43:02

这里的峰值时间是10 - 12.因为大多数用户在10到12之间被调用。 我怎么知道这个?

任何人都可以帮我解决这个问题

感谢

1 个答案:

答案 0 :(得分:0)

我认为你只需要一小时的小组:

select extract(hour from calledtime) as hr,
       count(*)
from t
group by extract(hour from calledtime)
order by 1

要获得一小时的高峰,您需要找到最大值。最简单的方法是:

select extract(hour from calledtime) as hr,
       count(*)
from t
group by extract(hour from calledtime)
order by count(*) desc
limit 1

您可能还需要日期信息以及小时;只需在select和group by中包含它。