【问题标题】:php mysql, how to get total time?php mysql,如何获得总时间?
【发布时间】:2011-07-29 20:39:42
【问题描述】:

我有一个表格,其中包含用户、他们访问的页面、会话 ID 以及他们在每个页面上花费的时间。

session_id | talentnum    | page_name    | time
008873e0   | user1        | test.php     | 1311630222
008873e0   | user1        | test.php     | 1311630215
008873e0   | user1        | index.php    | 1311630222
008873e3   | user2        | test.php     | 1311630216
008873e3   | user2        | index.php    | 1311895032

如何知道用户在每个会话上花费了多少时间

我想我应该找出用户在会话中每个页面上花费了多少然后添加时间?我有点迷茫

编辑。时间是他们进入该页面的时间()

有什么想法吗? 谢谢

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    这应该可行:

    select distinct(session_id), max(time) - min(time) from test group by session_id
    

    然后你将它按 session_id 分组。按用户分组:

    select distinct(talentnum), max(time) - min(time) from test group by talentnum
    

    【讨论】:

      【解决方案2】:

      首先,获取访问者列表:

      SELECT DISTINCT( sesssion_id ) as session FROM _yourTable_;
      

      然后执行另一个查询以获取每次访问的开始和结束时间:

      SELECT MIN(time) as START_TIME, MAX_TIME(time) as END_TIME WHERE session_id = '$desired_session';
      

      然后,通过 PHP 检索结果,并从结束时间减去开始时间,得到访问的总时长。

      【讨论】:

      • @Dalen:OP 想求总会话时间,可以通过比较第一次命中的时间戳和最后一次命中的时间戳来识别。在各个页面上花费的时间无关紧要。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 1970-01-01
      • 2013-02-08
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多