-1

MYTABLE-:每 10 秒根据点击的页面将一些数据插入到该表中(x,y,z

page | time | string|  timestamp

    x |  0   | load | 2013-07-24 18:45:02
    x | 10   | 0    | 2013-07-24 18:45:12
    x | 20   | 0    | 2013-07-24 18:45:22
    y |  0   | load | 2013-07-24 18:45:25
    x | 30   | 0    | 2013-07-24 18:45:32
    y | 10   | 0    | 2013-07-24 18:45:35
    z |  0   | load | 2013-07-24 18:45:40
    x | 40   | 0    | 2013-07-24 18:45:42
    y | 20   | 0    | 2013-07-24 18:45:45
    z | 10   | 0    | 2013-07-24 18:45:50
    x | 50   | 0    | 2013-07-24 18:45:52
    y | 30   | 0    | 2013-07-24 18:45:55
    x | 0    | load | 2013-07-24 18:45:58
    z | 20   | 0    | 2013-07-24 18:46:00
    x | 10   | 0    | 2013-07-24 18:46:08
    y | 40   | 0    | 2013-07-24 18:46:05

这就是我试图通过我的查询返回的内容。

x,50      //x page has max time of 50 sec
y,40      //y page has max time of 40 sec
z,20
x,10      //if I do groupby,i dont get this parameter.

*注意: *返回的行数完全等于 no。字符串字段中的负载

这里load表示页面已加载

我在做什么-:

$query="SELECT field,MAX(time)" from table MYTABLE where "this is where i get stuck"

更新:我的页面上有三个链接.. X,Y,Z。我试图通过每 10 秒插入一些值来跟踪用户活动。基于这些数据,我将绘制一个图表。用户的行为将是随机的(比如从 x 到 y 到 x 到 z 到 x)。所以我需要映射这些更改。加载时,插入时间 == 0 并插入字符串字段中的加载。

我说清楚了吗??

4

2 回答 2

0

很容易再添加一列,假设GroupId (int)将每个新负载表示为新组,并GroupId以 1 递增。

例子:

GroupId | page | time | string|  timestamp

1|    x |  0   | load | 2013-07-24 18:45:02
1|    x | 10   | 0    | 2013-07-24 18:45:12
1|    x | 20   | 0    | 2013-07-24 18:45:22
2|    y |  0   | load | 2013-07-24 18:45:25
2|    x | 30   | 0    | 2013-07-24 18:45:32
2|    y | 10   | 0    | 2013-07-24 18:45:35
3|    z |  0   | load | 2013-07-24 18:45:40
3|    x | 40   | 0    | 2013-07-24 18:45:42
3|    y | 20   | 0    | 2013-07-24 18:45:45
3|    z | 10   | 0    | 2013-07-24 18:45:50
3|    x | 50   | 0    | 2013-07-24 18:45:52
3|    y | 30   | 0    | 2013-07-24 18:45:55
4|    x | 0    | load | 2013-07-24 18:45:58
4|    z | 20   | 0    | 2013-07-24 18:46:00
4|    x | 10   | 0    | 2013-07-24 18:46:08
4|    y | 40   | 0    | 2013-07-24 18:46:05

之后,您只需编写以下代码:

SELECT 
   GroupId,
   field,
   MAX(page) 
FROM MYTABLE
于 2013-07-25T11:12:07.220 回答
0

尝试这个

    delimiter //
    CREATE PROCEDURE REProc()
    BEGIN
    WHILE time= 0  DO
    SELECT page,  MAX(time)  as time  FROM table1 ;
    END WHILE;
    END
    //
于 2013-07-25T11:50:59.543 回答