【问题标题】:Working out the Busiest Day using PHP使用 PHP 解决最忙碌的一天
【发布时间】:2023-03-30 10:39:01
【问题描述】:

每次有人登录系统时,我都有一个带有 unixtimestamp 时间戳的表。我想锻炼最忙碌的一天。

我对从哪里开始有点迷茫,我相信你需要计算出存储到数据库中的每一天的计数(或日志开始和结束之间的某种字符串?)

logs 的数据库结构

例子:

user  | action         | timestamp
admin | User Logged In | 1395257767

用户是“用户名”

操作是“用户登录”

时间戳是他们登录系统时给出的 Unix 时间戳。

任何帮助都是一个很好的开始

SQLFiddle - http://sqlfiddle.com/#!2/66d4293

【问题讨论】:

    标签: php mysql date unix-timestamp


    【解决方案1】:

    试试类似的东西。

    SELECT COUNT(*) c, DATE(FROM_UNIXTIME( timestamp) ) day FROM log 
    GROUP BY  day ORDER BY c DESC LIMIT 1;
    

    DATE(FROM_UNIXTIME( timestamp )) 转换为日期时间,然后转换为日期。

    顺便说一句,您可以考虑将日期存储为 datetimetimestamp 结构。存储为 unix 时间戳然后必须转换为可用日期并不理想。

    http://sqlfiddle.com/#!2/a53d1/2

    【讨论】:

    • 这个命令和使用 FROM_UNIXTIME(timestamp) 是否允许我也做一个最忙的月份?或者与 Days 相比,是否有不同的命令来执行 Months ?
    • 是的,你基本上可以做最忙的任何事情。尝试YEAR()MONTH(),上面文档链接中的内容。 sqlfiddle.com/#!2/a53d1/5
    【解决方案2】:

    只是快速猜测您的要求:

     select date(timestamp),count(*) from logs group by date(FROM_UNIXTIME(timestamp))
    

    我测试查询的数据库的示例输出:

    +---------------+----------+
    | date(timestamp) | count(*) |
    +---------------+----------+
    | 2013-12-13    |     4978 |
    | 2013-12-14    |     5016 |
    | 2013-12-15    |     4999 |
    | 2013-12-16    |     5002 |
    | 2013-12-17    |     4995 |
    | 2013-12-18    |     5000 |
    | 2013-12-19    |     5001 |
    | 2013-12-20    |     5001 |
    | 2013-12-21    |     5001 |
    | 2013-12-22    |     4713 |
    | 2013-12-30    |     4892 |
    | 2013-12-31    |     5064 |
    | 2014-01-01    |     5024 |
    | 2014-01-02    |     5001 |
    | 2014-01-03    |     5002 |
    | 2014-01-04    |     5001 |
    | 2014-01-05    |     4970 |
    | 2014-01-06    |     4989 |
    | 2014-01-07    |     4995 |
    | 2014-01-08    |     5004 |
    | 2014-01-09    |     2531 |
    

    【讨论】:

      【解决方案3】:

      要度过最忙碌的一天,请使用DAYOFWEEK

      SELECT DAYOFWEEK(timestamp),COUNT(*) FROM logs GROUP BY DAYOFWEEK(timestamp)
      

      【讨论】:

        猜你喜欢
        • 2021-10-13
        • 2011-05-04
        • 1970-01-01
        • 1970-01-01
        • 2013-01-30
        • 1970-01-01
        • 2019-01-20
        • 2012-02-01
        • 2017-05-25
        相关资源
        最近更新 更多