MySQL:从日期时间字段中获取"最繁忙"或"最受欢迎"的小时数?

k00*_*00k 4 mysql datetime count popularity

考虑下面的表,其中包含字段 - id(int)和date_created(datetime):

id       date_created

 1       2010-02-25 12:25:32
 2       2010-02-26 13:40:37
 3       2010-03-01 12:02:22
 4       2010-03-01 12:10:23
 5       2010-03-02 10:10:09
 6       2010-03-03 12:45:03
Run Code Online (Sandbox Code Playgroud)

我想知道这组数据中当天最繁忙/最受欢迎的时刻.在这个例子中,我正在寻找的结果将是12.

想法?

Pet*_*ley 7

要获得最热门的小时,请使用此查询

select date_format( date_created, '%H' ) as `hour`
  from [Table]
 group by date_format( date_created, '%H' )
 order by count(*) desc
 limit 1;
Run Code Online (Sandbox Code Playgroud)

如果您想查看所有数据,请使用此数据

select count(*) as num_records
     , date_created
     , date_format( date_created, '%H' ) as `hour`
  from [Table]
 group by `hour`
 order by num_records desc;
Run Code Online (Sandbox Code Playgroud)


k00*_*00k 3

我喜欢西蒙和彼得的答案,但我不能选择两者都接受。我将两者结合起来进行一个更清晰的查询,仅返回热门时间(我不需要计数)。

SELECT hour(date_created) AS h 
FROM my_table 
GROUP BY h 
ORDER BY count(*) DESC 
LIMIT 1
Run Code Online (Sandbox Code Playgroud)