MYTABLE-:根据点击的页面( x,y,z ),每隔10秒将一些数据插入此表中
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并插入字符串字段中的加载。
我清楚吗?
答案 0 :(得分: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
答案 1 :(得分:0)
试试这个
delimiter //
CREATE PROCEDURE REProc()
BEGIN
WHILE time= 0 DO
SELECT page, MAX(time) as time FROM table1 ;
END WHILE;
END
//