|
|
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,则会出现一些问题。
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |