计算mysql中应用程序的时间给定应用程序的名称和时间戳

计算mysql中应用程序的时间给定应用程序的名称和时间戳,mysql,Mysql,我有一个mysql表,它存储活动窗口标题、应用程序名称和时间戳 我正在尝试编写sql查询,以了解按appname或窗口标题分组的用户花费了多少时间 我对如何实现感到困惑,因为我需要分组并添加时差,直到我找到一个新的appname或窗口标题 请帮助我编写sql查询以实现我的目标 桌子的结构。是 1589972898969 | com.apple.Terminal | electron-quick-start 1589972893157 | com.google.Chrome | Stafover

我有一个mysql表,它存储活动窗口标题、应用程序名称和时间戳

我正在尝试编写sql查询,以了解按appname或窗口标题分组的用户花费了多少时间

我对如何实现感到困惑,因为我需要分组并添加时差,直到我找到一个新的appname或窗口标题

请帮助我编写sql查询以实现我的目标

桌子的结构。是

1589972898969 | com.apple.Terminal | electron-quick-start
1589972893157 | com.google.Chrome  | Stafoverflow.com
HTML

<table>
<tr><th>timestamp</th><th>appname</th><th>title</th></tr>
<tr>
<td>1589978510857</td>
<td>
FROM_UNIXTIME() Examples – MySQL | Database.Guide</td><td>com.apple.Terminal</td>
</tr>

<tr>
<td>1589978507916</td>
<td>
FROM_UNIXTIME() Examples – MySQL | Database.Guide</td><td>com.apple.Terminal</td>
</tr>

<tr>
<td>1589978501832</td>
<td>
FROM_UNIXTIME() Examples – MySQL | Database.Guide</td><td>com.apple.Terminal</td>
</tr>

<tr>
<td>1589979493016</td>
<td>
Calculating time spent on an app in mysql given name of the app and timestamp - Stack Overflow </td><td>com.google.Chrome</td>
</tr>

</table>

您可以这样做:

选择*,MAXtime,MINtime,MAXtime-MINtime时间差自 选择@c:=@c+@appname!=appname作为cn, @appname:=appname作为, t* 从…起 选择@c:=0, @appname:=0 vars, 测试t 按“时间”订购ASC 按cn排序的组 要测试的表:

创建表“test” `id`int11无符号非空自动增量, `time`timestamp NULL默认为NULL, `appname`varchar50默认为空, `title`varchar50默认为空, 主键'id` ENGINE=InnoDB默认字符集=1; 插入'test``id`、'time`、'appname`、'title`` 价值观 1、‘2020-05-20 13:14:38’、‘测试’、‘jhkjgh’, 2、‘2020-05-20 13:15:11’、‘测试’、‘skdljbhj’, 3,'2020-05-20 13:18:11','test',空, 4、'2020-05-20 14:24:38'、'test2'、'jhkjgh', 5、'2020-05-20 14:55:31'、'test1'、'skdljbhj', 6,'2020-05-20 15:38:11','test1',空, 7、‘2020-05-20 18:24:38’、‘测试2’、‘jhkjgh’, 8、'2020-06-20 09:55:31'、'test2'、'skdljbhj', 9,'2020-05-10 05:38:11','test2',空;
我用时间戳做的,你可以改变。您还可以添加任何您喜欢的分组。

时间戳代表什么?加上时差是什么意思?您尝试的问题是什么?欢迎使用SO。请看它是unix时间戳。我尝试按appname分组并计算累计和,但当appname在一段时间后更改时,无法编写查询。我需要按连续时间段和appname分组。类似于Receitime/timedoctor应用程序所展示的内容,我们下次一定会遵循SO指南。谢谢非常感谢,这就解决了问题。我将深入了解语法。sql新手。