【问题标题】:Finding what hour someone visits a hotel the most查找某人访问酒店最多的时间
【发布时间】:2021-01-29 10:19:11
【问题描述】:

我想知道一个人最常访问的时间段是哪个小时,第二频繁,第三多等等。因此,例如 1 小时的时段从一小时的顶部开始,直到下一个顶部,例如 07:00:00-07:59:59 将是早上 7 点的时段。

CREATE TABLE visits (
id primary key
date_visited datetime not null,
cus_name varchar(32) not null
);

我有点困惑,因为我不知道如何按一个小时分组

SELECT count(*)
FROM visits
GROUP BY date_visited
ORDER BY count(*) DESC

【问题讨论】:

标签: mysql sql select


【解决方案1】:

你可以使用HOUR函数:

SELECT hour(date_visited), count(*) as number of visits
FROM visits
GROUP BY hour(date_visited)
ORDER BY count(*) DESC

如果你想根据访问次数给小时数,那么你可以使用分析函数(MySql 8.0或更高版本)如下:

SELECT hour(date_visited), count(*) as number of visits,
       row_number() over (order by count(*) desc) as num
FROM visits
GROUP BY hour(date_visited)
ORDER BY num

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2017-04-22
    • 2013-03-10
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2019-04-27
    • 1970-01-01
    相关资源
    最近更新 更多