【发布时间】:2014-04-07 15:12:24
【问题描述】:
我有两个表:Positions 和 Uploads。它们包含用户名和时间戳以及其他信息。我想知道玩家在上传内容之前花了多长时间。为此,我需要位置表中的最低时间戳来获取他们的开始时间。然后我需要从第一个上传时间戳中减去它。
因此,换句话说:我想知道玩家在上传他们的第一个内容之前在游戏中花费了多长时间。
我可以只写一个 php 交易来处理计算,但我觉得这可能有点矫枉过正,而且可能有一个基本的 SQL 命令可以自动完成。我正在集思广益如何做到这一点,这就是我目前所拥有的:
Select a.UserID, DATEDIFF(Min(a.timestamp),Min( b.Timestamp))
From db.Uploads a, db.Position b
WHERE
a.UserID = b.UserID
GROUP BY a.UserID
有人有想法吗?我知道我的代码很蹩脚,但目前这就是我想出的。
【问题讨论】:
-
您的查询有什么问题?如果我理解正确,它可能真的有效。
-
嗨 fancPants,结果证明 datediff 不是我需要的,即使它是一个日期字段。不完全确定为什么,但就是这样。我必须这样做:选择 a.UserID, (Min(a.timestamp)-Min(b.Timestamp)) 作为 TimeDifference From db.Uploads a, db.Position b WHERE a.UserID = b.UserID GROUP BY a。用户 ID
标签: mysql sql timestamp timestamp-analysis