小编Mar*_*ark的帖子

两行之间的 MySQL 日期差异

我有一个TABLEwith Columns: USER_IDTIMESTAMPACTION

每一行都告诉我哪个用户在某个时间戳做了什么操作。

例子:

  • Alice 于 2014-06-12 16:37:46 开始申请
  • Alice 在 2014-06-12 17:48:55 停止申请

我想要一个用户列表,其中包含启动应用程序的第一行和关闭应用程序的最后一行之间的时间差。

这是我尝试这样做的方法:

    SELECT USER_ID,DATEDIFF(
(SELECT timestamp FROM MOBILE_LOG WHERE ACTION="START_APP" AND USER_ID="Alice"  order by TIMESTAMP LIMIT 1),
(SELECT timestamp FROM MOBILE_LOG WHERE ACTION ="CLOSE_APP" AND USER_ID="Alice"  order by TIMESTAMP LIMIT 1)
) AS Duration FROM MOBILE_LOG AS t WHERE USER_ID="Alice";
Run Code Online (Sandbox Code Playgroud)

我要求两个 SELECT 查询之间的 DATEDIFF,但我只得到一个 Alice`s 的列表,其中 -2 作为 Duration。

我在正确的轨道上吗?

mysql sql row datediff

3
推荐指数
1
解决办法
5057
查看次数

标签 统计

datediff ×1

mysql ×1

row ×1

sql ×1