![]() |
1
1
但在现实世界中,这可能非常缓慢。 |
![]() |
2
1
在甲骨文中,由于分析函数的存在,这将是轻而易举的事。在这种情况下,LAG()可以轻松找到活动代码1和2的匹配对,并计算趋势。正如你所看到的,事情在1月2日变得更糟,在3日有了相当大的改善(我的工作时间是几秒钟而不是几分钟)。
正如我在评论中所说的,我想你正在MSSQL中工作。我不知道那个产品是否有LAG()的等价物。 |
![]() |
3
1
因此,这将有点奇怪和有趣,对于每个活动(除了登录和注销),时间戳将记录在两个不同的行中——一个记录在最后一个活动中(作为“完成”的时间),另一个记录在新行中(作为时间开始)。你最终会得到一个雅各布阶梯,但是找到你想要的数据要简单得多。
否则,您将陷入这样一个查询中
这将是相当缓慢的,正如你已经建议的那样。通过接受冗余,最终只需查询两列之间的差异。您可能也不太需要知道用户信息,因为您知道任何一行都显示两个活动代码,因此您可以查询任意一天所有用户的平均值,并将其与第二天进行比较(除非您试图找出哪些用户也有问题)。 |
![]() |
4
1
这是一个更快的查询,在一行中,您将有current和row before datetime值,之后您可以使用DATEDIFF(datepart、startdate、enddate)。我使用@DammyVariable和DamyField,因为我记得如果不是update语句中的第一个@variable=Field,则会出现一些问题。
|
![]() |
Community wiki · SQL语法新手 1 年前 |
![]() |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |