php mysql,如何获得总时间?

时间:2011-07-29 20:39:42

标签: php mysql

我有一张表,其中包含用户,他们访问过的页面,会话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

如何找到用户在每个会话上花费的时间

我想我应该找到用户在会话中每个页面花了多少然后添加时间?我有点困惑

修改。时间是他们进入该页面的时间()

任何想法? 感谢

2 个答案:

答案 0 :(得分:3)

这应该有效:

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

答案 1 :(得分: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检索结果并从结束时间中减去开始时间以获得访问的总长度。