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

我的桌子是

    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之间被调用。我怎么知道这一点?

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

谢谢


我想你只是想在一小时之内得到一个小组:

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中即可。

链接地址: http://www.djcxy.com/p/5167.html

上一篇: How do I get the peak hours from my mysql database table "userlog"

下一篇: One table, three column MYSQL query question