选择两个表之间每个用户的值之间的最小差异

时间:2014-04-07 15:12:25

标签: mysql sql timestamp timestamp-analysis

我有两张桌子:位置和上传。它们包含用户名和时间戳以及其他信息。我想知道玩家在上传内容之前花了多长时间。为此,我需要位置表中最低的时间戳来获取它们的开始时间。然后我需要从第一个上传时间戳中减去它。

所以,换句话说:我想知道玩家在上传第一个内容之前在游戏中花了多长时间。

我可以写一个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

有人有想法吗?我知道我的代码非常蹩脚,但目前我的目标是什么。

1 个答案:

答案 0 :(得分:0)

出于某种原因,使用DateDiff对我来说并不是非常疯狂,但是当我进行正常的减法时,它有效吗? Bluehost的表设置必须做一些奇怪的事情。

Select a.UserID, Min(a.timestamp)-Min(b.Timestamp)
From db.Uploads a, db.Position b
WHERE 
a.UserID = b.UserID
GROUP BY a.UserID